JPH10228421A - メモリアクセス制御回路 - Google Patents
メモリアクセス制御回路Info
- Publication number
- JPH10228421A JPH10228421A JP9030385A JP3038597A JPH10228421A JP H10228421 A JPH10228421 A JP H10228421A JP 9030385 A JP9030385 A JP 9030385A JP 3038597 A JP3038597 A JP 3038597A JP H10228421 A JPH10228421 A JP H10228421A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- access
- memory
- area
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 103
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 abstract description 4
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 241001508691 Martes zibellina Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
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
-
- 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
Abstract
(57)【要約】
【課題】 不正アクセスに対して高い保護機能が得られ
るメモリアクセス制御回路を提供する。 【解決手段】 レジスタ14はプログラムカウンタ11
の値を保持する。テーブル15はメモリ上の保護領域の
アドレスを保持し、テーブル16は保護領域へのアクセ
スが許されている命令のアドレスを保持する。アクセス
検出回路17は、命令の解読結果、アクセス先のアドレ
スとテーブル15のアドレスの比較結果に基づき、保護
領域へのアクセス命令かどうかを判定する。比較回路1
8は、保護領域へのアクセス命令が検出されたとき、レ
ジスタ14、テーブル16のアドレスを比較して、保護
領域へのアクセスが許されていないエリアから読み出さ
れた命令と判断したときに禁止信号を出力して、不正な
メモリアクセスを禁止する。
るメモリアクセス制御回路を提供する。 【解決手段】 レジスタ14はプログラムカウンタ11
の値を保持する。テーブル15はメモリ上の保護領域の
アドレスを保持し、テーブル16は保護領域へのアクセ
スが許されている命令のアドレスを保持する。アクセス
検出回路17は、命令の解読結果、アクセス先のアドレ
スとテーブル15のアドレスの比較結果に基づき、保護
領域へのアクセス命令かどうかを判定する。比較回路1
8は、保護領域へのアクセス命令が検出されたとき、レ
ジスタ14、テーブル16のアドレスを比較して、保護
領域へのアクセスが許されていないエリアから読み出さ
れた命令と判断したときに禁止信号を出力して、不正な
メモリアクセスを禁止する。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テム等におけるメモリアクセス制御回路に係り、特にメ
モリ上の保護すべき領域に対するアクセスを検出して不
正なアクセスを禁止するメモリアクセス制御回路に関す
るものである。
テム等におけるメモリアクセス制御回路に係り、特にメ
モリ上の保護すべき領域に対するアクセスを検出して不
正なアクセスを禁止するメモリアクセス制御回路に関す
るものである。
【0002】
【従来の技術】従来より、コンピュータプログラムの開
発は多大な時間を要する作業である。コンピュータプロ
グラムの開発者は、そのプログラムを売ることによって
開発費用を賄ってきた。しかし、第3者がメモリ上のプ
ログラムやデータを読み出すためのプログラムを作成し
て、メモリからプログラムやデータを読み出すことは可
能であり、このようなコピーが容易に行われると、開発
費用を賄うことは困難となる。また、暗号アルゴリズム
に用いる暗号処理ルーチンやデータがメモリに書き込ま
れている暗号回路において、これらのデータがメモリか
ら読み出されてしまうと、暗号化する前の平文が解読さ
れてしまうことになる。
発は多大な時間を要する作業である。コンピュータプロ
グラムの開発者は、そのプログラムを売ることによって
開発費用を賄ってきた。しかし、第3者がメモリ上のプ
ログラムやデータを読み出すためのプログラムを作成し
て、メモリからプログラムやデータを読み出すことは可
能であり、このようなコピーが容易に行われると、開発
費用を賄うことは困難となる。また、暗号アルゴリズム
に用いる暗号処理ルーチンやデータがメモリに書き込ま
れている暗号回路において、これらのデータがメモリか
ら読み出されてしまうと、暗号化する前の平文が解読さ
れてしまうことになる。
【0003】そこで、このようなメモリへの不正アクセ
スを防止するためのメモリアクセス制御回路が提案され
ている(例えば、特開昭59−11600号公報)。図
6は特開昭59−11600号公報に開示された従来の
メモリアクセス制御回路のブロック図である。このメモ
リアクセス制御回路は、CPU31、不揮発性メモリ3
2,一時的メモリ33、外部インタフェース手段34、
アドレスバス35、データバス36、不揮発性メモリ3
2に記憶された情報の保護状況を示すプログラム保護ビ
ット37、不揮発性メモリ32へのアクセスを判断する
アドレス論理38、外部インタフェース手段34の操作
を禁止するための外部インタフェース禁止論理手段3
9、不揮発性メモリ32の操作を禁止するための操作禁
止バッファ40、一時的メモリ33の操作を禁止するた
めの操作禁止バッファ41、命令の取得がいつ行われる
かを判断する命令取得論理42から構成されている。
スを防止するためのメモリアクセス制御回路が提案され
ている(例えば、特開昭59−11600号公報)。図
6は特開昭59−11600号公報に開示された従来の
メモリアクセス制御回路のブロック図である。このメモ
リアクセス制御回路は、CPU31、不揮発性メモリ3
2,一時的メモリ33、外部インタフェース手段34、
アドレスバス35、データバス36、不揮発性メモリ3
2に記憶された情報の保護状況を示すプログラム保護ビ
ット37、不揮発性メモリ32へのアクセスを判断する
アドレス論理38、外部インタフェース手段34の操作
を禁止するための外部インタフェース禁止論理手段3
9、不揮発性メモリ32の操作を禁止するための操作禁
止バッファ40、一時的メモリ33の操作を禁止するた
めの操作禁止バッファ41、命令の取得がいつ行われる
かを判断する命令取得論理42から構成されている。
【0004】このような構成により、このメモリアクセ
ス制御回路は、不揮発性メモリ32又は一時的メモリ3
3の保護すべき領域から保護されていない領域への情報
の転送を禁止する。こうして、第3者が一時的メモリ3
3上のプログラムを実行することで、不揮発性メモリ3
2上の保護すべきデータを一時的メモリ33上に不正に
読み出すことができなくなる。
ス制御回路は、不揮発性メモリ32又は一時的メモリ3
3の保護すべき領域から保護されていない領域への情報
の転送を禁止する。こうして、第3者が一時的メモリ3
3上のプログラムを実行することで、不揮発性メモリ3
2上の保護すべきデータを一時的メモリ33上に不正に
読み出すことができなくなる。
【0005】
【発明が解決しようとする課題】しかし、このような従
来のメモリアクセス制御回路では、メモリ間のデータ転
送を禁止しているだけなので、メモリ上の保護すべきデ
ータをCPUのアキュムレータ等の汎用レジスタに一旦
読み出して、これに何らかの演算を加えた後にメモリに
読み出すことは禁止できず、このような演算結果を得る
ことで保護すべき元のデータが判明してしまうという問
題点があった。例えば、保護領域内のデータをアキュム
レータに読み出し、これに「0」を加算するといった簡
単な演算をした後に、演算結果をメモリに読み出せば、
保護すべき元のデータを容易に知ることができる。ま
た、ある演算を行ったときのCPUが内蔵するステータ
スフラグ(例えばキャリフラグなど)の状態変化を調べ
ることで、保護すべき元データを間接的に知ることもで
きる。本発明は、上記課題を解決するためになされたも
ので、不正アクセスに対して高い保護機能が得られるメ
モリアクセス制御回路を提供することを目的とする。
来のメモリアクセス制御回路では、メモリ間のデータ転
送を禁止しているだけなので、メモリ上の保護すべきデ
ータをCPUのアキュムレータ等の汎用レジスタに一旦
読み出して、これに何らかの演算を加えた後にメモリに
読み出すことは禁止できず、このような演算結果を得る
ことで保護すべき元のデータが判明してしまうという問
題点があった。例えば、保護領域内のデータをアキュム
レータに読み出し、これに「0」を加算するといった簡
単な演算をした後に、演算結果をメモリに読み出せば、
保護すべき元のデータを容易に知ることができる。ま
た、ある演算を行ったときのCPUが内蔵するステータ
スフラグ(例えばキャリフラグなど)の状態変化を調べ
ることで、保護すべき元データを間接的に知ることもで
きる。本発明は、上記課題を解決するためになされたも
ので、不正アクセスに対して高い保護機能が得られるメ
モリアクセス制御回路を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明のメモリアクセス
制御回路は、請求項1に記載のように、実行すべき命令
が格納されたメモリ上の位置を表す命令フェッチアドレ
スを保持する第1のアドレス保持手段と、メモリ上の保
護すべき領域のアドレスを保持する第2のアドレス保持
手段と、保護領域へのアクセスが許されている命令のメ
モリ上の位置を表す命令フェッチアドレスを保持する第
3のアドレス保持手段と、メモリから読み出された命令
の解読結果、及びこの命令が示すアクセス先のアドレス
と第2のアドレス保持手段に保持されたアドレスの比較
結果に基づいて、保護領域へのアクセス命令かどうかを
判定するアクセス検出手段と、このアクセス検出手段に
より保護領域へのアクセス命令が検出されたとき、第
1、第3のアドレス保持手段に保持された命令フェッチ
アドレスを比較して、保護領域へのアクセスが許されて
いない格納位置から読み出された命令と判断したときに
禁止信号を出力する比較手段と、禁止信号が出力された
ときにメモリアクセスを禁止する禁止手段とを有するも
のである。このように、アクセス検出手段によって保護
領域へのアクセス命令かどうかを判定し、保護領域への
アクセス命令が検出されたとき、保護領域へのアクセス
が許されている格納位置から読み出された命令かどうか
を比較手段によって判断して、保護領域へのアクセスが
許されていない格納位置から読み出された命令と判断し
たときに禁止信号を出力し、禁止手段によってメモリア
クセスを禁止することにより、保護領域への不正なアク
セスを禁止することができる。
制御回路は、請求項1に記載のように、実行すべき命令
が格納されたメモリ上の位置を表す命令フェッチアドレ
スを保持する第1のアドレス保持手段と、メモリ上の保
護すべき領域のアドレスを保持する第2のアドレス保持
手段と、保護領域へのアクセスが許されている命令のメ
モリ上の位置を表す命令フェッチアドレスを保持する第
3のアドレス保持手段と、メモリから読み出された命令
の解読結果、及びこの命令が示すアクセス先のアドレス
と第2のアドレス保持手段に保持されたアドレスの比較
結果に基づいて、保護領域へのアクセス命令かどうかを
判定するアクセス検出手段と、このアクセス検出手段に
より保護領域へのアクセス命令が検出されたとき、第
1、第3のアドレス保持手段に保持された命令フェッチ
アドレスを比較して、保護領域へのアクセスが許されて
いない格納位置から読み出された命令と判断したときに
禁止信号を出力する比較手段と、禁止信号が出力された
ときにメモリアクセスを禁止する禁止手段とを有するも
のである。このように、アクセス検出手段によって保護
領域へのアクセス命令かどうかを判定し、保護領域への
アクセス命令が検出されたとき、保護領域へのアクセス
が許されている格納位置から読み出された命令かどうか
を比較手段によって判断して、保護領域へのアクセスが
許されていない格納位置から読み出された命令と判断し
たときに禁止信号を出力し、禁止手段によってメモリア
クセスを禁止することにより、保護領域への不正なアク
セスを禁止することができる。
【0007】また、請求項2に記載のように、実行すべ
き命令が格納されたメモリ上の位置を表す命令フェッチ
アドレスを保持する第1のアドレス保持手段と、保護領
域のアドレスを保持する第2のアドレス保持手段と、保
護領域への分岐が許されている分岐命令のメモリ上の位
置を表す命令フェッチアドレスを保持する第3のアドレ
ス保持手段と、メモリから読み出された命令の解読結
果、及びこの命令が示す分岐先のアドレスと第2のアド
レス保持手段に保持されたアドレスの比較結果に基づい
て、保護領域への分岐命令かどうかを判定するアクセス
検出手段と、このアクセス検出手段により保護領域への
分岐命令が検出されたとき、第1、第3のアドレス保持
手段に保持された命令フェッチアドレスを比較して、保
護領域への分岐が許されていない格納位置から読み出さ
れた命令と判断したときに禁止信号を出力する比較手段
と、禁止信号が出力されたときに分岐命令の実行を禁止
する禁止手段とを有するものである。このように、アク
セス検出手段によって保護領域への分岐命令かどうかを
判定し、保護領域への分岐命令が検出されたとき、保護
領域への分岐が許されている格納位置から読み出された
命令かどうかを比較手段によって判断して、保護領域へ
の分岐が許されていない格納位置から読み出された命令
と判断したときに禁止信号を出力し、禁止手段によって
分岐命令の実行を禁止することにより、保護領域への不
正な分岐を禁止することができる。
き命令が格納されたメモリ上の位置を表す命令フェッチ
アドレスを保持する第1のアドレス保持手段と、保護領
域のアドレスを保持する第2のアドレス保持手段と、保
護領域への分岐が許されている分岐命令のメモリ上の位
置を表す命令フェッチアドレスを保持する第3のアドレ
ス保持手段と、メモリから読み出された命令の解読結
果、及びこの命令が示す分岐先のアドレスと第2のアド
レス保持手段に保持されたアドレスの比較結果に基づい
て、保護領域への分岐命令かどうかを判定するアクセス
検出手段と、このアクセス検出手段により保護領域への
分岐命令が検出されたとき、第1、第3のアドレス保持
手段に保持された命令フェッチアドレスを比較して、保
護領域への分岐が許されていない格納位置から読み出さ
れた命令と判断したときに禁止信号を出力する比較手段
と、禁止信号が出力されたときに分岐命令の実行を禁止
する禁止手段とを有するものである。このように、アク
セス検出手段によって保護領域への分岐命令かどうかを
判定し、保護領域への分岐命令が検出されたとき、保護
領域への分岐が許されている格納位置から読み出された
命令かどうかを比較手段によって判断して、保護領域へ
の分岐が許されていない格納位置から読み出された命令
と判断したときに禁止信号を出力し、禁止手段によって
分岐命令の実行を禁止することにより、保護領域への不
正な分岐を禁止することができる。
【0008】
実施の形態の1.以下、本発明の実施の形態について図
面を参照して説明する。図1は本発明の第1の実施の形
態を示すメモリアクセス制御回路のブロック図である。
本実施の形態のメモリアクセス制御回路は、CPU1、
製造時に書き込みが行われ以後は書き換えることのでき
ないマスクROM(Read Only Memory)2、書き込みと
消去が電気的に可能なEEPROM(Electrically Era
sable and Programmable ROM)3、RAM(Random Acc
ess Memory)4、データ情報をやり取りするためのデー
タバス5、アドレス情報をやり取りするためのアドレス
バス6、インストラクションバス7から構成されてい
る。
面を参照して説明する。図1は本発明の第1の実施の形
態を示すメモリアクセス制御回路のブロック図である。
本実施の形態のメモリアクセス制御回路は、CPU1、
製造時に書き込みが行われ以後は書き換えることのでき
ないマスクROM(Read Only Memory)2、書き込みと
消去が電気的に可能なEEPROM(Electrically Era
sable and Programmable ROM)3、RAM(Random Acc
ess Memory)4、データ情報をやり取りするためのデー
タバス5、アドレス情報をやり取りするためのアドレス
バス6、インストラクションバス7から構成されてい
る。
【0009】そして、CPU1は、図示しないアキュム
レータ等の汎用レジスタや論理演算ユニットの他に、実
行すべき命令が格納されたメモリ上の位置を表すプログ
ラムカウンタ11、メモリから取り出された命令語を保
持する命令レジスタ12、この命令レジスタ12に格納
された命令語を解読する命令デコーダ13、プログラム
カウンタ11の出力である命令フェッチアドレスを保持
する第1のアドレス保持手段となる命令フェッチアドレ
スレジスタ14、メモリ上の保護すべき領域のアドレス
を保持する第2のアドレス保持手段となるエリアテーブ
ル15、保護領域へのアクセスが許されている命令のメ
モリ上の位置を表す命令フェッチアドレスを保持する第
3のアドレス保持手段となるエリアテーブル16、デコ
ーダ13による命令の解読結果、及びこの命令が示すア
クセス先のアドレスとテーブル15に保持されたアドレ
スの比較結果に基づいて、保護領域へのアクセス命令か
どうかを判定するアクセス検出回路17、この検出回路
17により保護領域へのアクセス命令が検出されたと
き、レジスタ14、テーブル16に保持された命令フェ
ッチアドレスを比較して、保護領域へのアクセスが許さ
れていない格納位置から読み出された命令と判断したと
きに禁止信号を出力する比較回路18、禁止信号が出力
されたときにデコーダ13からコントロール回路20へ
の信号を抑止するゲート回路、セレクタ21、バッファ
22〜26から構成されている。そして、命令デコーダ
13、ゲート回路19、コントロール回路20が禁止手
段を構成している。
レータ等の汎用レジスタや論理演算ユニットの他に、実
行すべき命令が格納されたメモリ上の位置を表すプログ
ラムカウンタ11、メモリから取り出された命令語を保
持する命令レジスタ12、この命令レジスタ12に格納
された命令語を解読する命令デコーダ13、プログラム
カウンタ11の出力である命令フェッチアドレスを保持
する第1のアドレス保持手段となる命令フェッチアドレ
スレジスタ14、メモリ上の保護すべき領域のアドレス
を保持する第2のアドレス保持手段となるエリアテーブ
ル15、保護領域へのアクセスが許されている命令のメ
モリ上の位置を表す命令フェッチアドレスを保持する第
3のアドレス保持手段となるエリアテーブル16、デコ
ーダ13による命令の解読結果、及びこの命令が示すア
クセス先のアドレスとテーブル15に保持されたアドレ
スの比較結果に基づいて、保護領域へのアクセス命令か
どうかを判定するアクセス検出回路17、この検出回路
17により保護領域へのアクセス命令が検出されたと
き、レジスタ14、テーブル16に保持された命令フェ
ッチアドレスを比較して、保護領域へのアクセスが許さ
れていない格納位置から読み出された命令と判断したと
きに禁止信号を出力する比較回路18、禁止信号が出力
されたときにデコーダ13からコントロール回路20へ
の信号を抑止するゲート回路、セレクタ21、バッファ
22〜26から構成されている。そして、命令デコーダ
13、ゲート回路19、コントロール回路20が禁止手
段を構成している。
【0010】本実施の形態のメモリアクセス制御回路
は、マスクROM2及びEEPROM3が実行命令を格
納するプログラムエリアとデータを格納するデータエリ
アをそれぞれ有し、マスクROM2あるいはEEPRO
M3上の保護すべき領域に書き込まれたデータ(例え
ば、暗号アルゴリズムに用いられる暗号鍵)を保護する
ためのものである。
は、マスクROM2及びEEPROM3が実行命令を格
納するプログラムエリアとデータを格納するデータエリ
アをそれぞれ有し、マスクROM2あるいはEEPRO
M3上の保護すべき領域に書き込まれたデータ(例え
ば、暗号アルゴリズムに用いられる暗号鍵)を保護する
ためのものである。
【0011】次に、このようなメモリアクセス制御回路
の動作を説明する。図2はメモリアクセス制御回路の動
作を説明するためのタイミングチャート図である。この
メモリアクセス制御回路を含むコンピュータシステム
は、プログラムカウンタ11から出力される命令フェッ
チアドレスに従って、ROM2あるいはROM3から命
令語を逐次取り出し、解読して実行する。
の動作を説明する。図2はメモリアクセス制御回路の動
作を説明するためのタイミングチャート図である。この
メモリアクセス制御回路を含むコンピュータシステム
は、プログラムカウンタ11から出力される命令フェッ
チアドレスに従って、ROM2あるいはROM3から命
令語を逐次取り出し、解読して実行する。
【0012】ROM2あるいはROM3から命令を取り
出す命令フェッチ時、命令デコーダ13からの制御信号
により、セレクタ21はプログラムカウンタ11の出力
を選択し、バッファ22はイネーブル状態となってい
る。これにより、プログラムカウンタ11から出力され
た命令フェッチアドレスは、セレクタ21を介してマス
クROM2に与えられ、バッファ22、アドレスバス6
を介してEEPROM3に与えられる。
出す命令フェッチ時、命令デコーダ13からの制御信号
により、セレクタ21はプログラムカウンタ11の出力
を選択し、バッファ22はイネーブル状態となってい
る。これにより、プログラムカウンタ11から出力され
た命令フェッチアドレスは、セレクタ21を介してマス
クROM2に与えられ、バッファ22、アドレスバス6
を介してEEPROM3に与えられる。
【0013】この命令フェッチアドレスがマスクROM
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。
【0014】ところで、命令語は、操作を指定する命令
コードと、操作の対象となるデータ(オペランド)を指
定するオペランドコードとからなる。今、ROM2ある
いはROM3にアクセスする命令語(ここでは、データ
読み出し命令とする)が2バイト2ステート(命令コー
ドが1バイト、オペランドコードが1バイト)の命令形
式であったとすると、命令フェッチアドレスは、図2
(b)に示すように、前の命令の最終ステートにおい
て、データ読み出し命令の命令コードが格納されている
位置を指すアドレスADとなり、次のステートにおい
て、その命令のオペランドコードが格納されている位置
を指すアドレスAD+1となる。
コードと、操作の対象となるデータ(オペランド)を指
定するオペランドコードとからなる。今、ROM2ある
いはROM3にアクセスする命令語(ここでは、データ
読み出し命令とする)が2バイト2ステート(命令コー
ドが1バイト、オペランドコードが1バイト)の命令形
式であったとすると、命令フェッチアドレスは、図2
(b)に示すように、前の命令の最終ステートにおい
て、データ読み出し命令の命令コードが格納されている
位置を指すアドレスADとなり、次のステートにおい
て、その命令のオペランドコードが格納されている位置
を指すアドレスAD+1となる。
【0015】したがって、命令レジスタ12には、図2
(d)に示すように、前の命令サイクルの最終ステート
において命令コードが格納され、次のステートにおいて
オペランドコードが格納される。一方、図2(c)に示
すように、プログラムカウンタ11から出力される命令
フェッチアドレスのうち、命令コードのアドレスADが
命令フェッチアドレスレジスタ14に格納される。この
レジスタ14は、次の命令フェッチによって内容が更新
されるまで、その内容を保持し続ける。
(d)に示すように、前の命令サイクルの最終ステート
において命令コードが格納され、次のステートにおいて
オペランドコードが格納される。一方、図2(c)に示
すように、プログラムカウンタ11から出力される命令
フェッチアドレスのうち、命令コードのアドレスADが
命令フェッチアドレスレジスタ14に格納される。この
レジスタ14は、次の命令フェッチによって内容が更新
されるまで、その内容を保持し続ける。
【0016】続いて、命令デコーダ13は、命令レジス
タ12に格納された命令コードをこの命令サイクルの最
初のステートで解読し、データ読み出し命令であれば、
制御信号を出力して、バッファ23〜25をイネーブル
状態にし、セレクタ21がバッファ23の出力を選択す
るように制御する。これにより、命令コードの次に命令
レジスタ12に格納されるオペランドコードがデータア
クセス先のアドレスMとしてバッファ24を介してアド
レスバス6に出力され、バッファ23、セレクタ21を
介してROM2に与えられ、アドレスバス6を介してE
EPROM3に与えられる。
タ12に格納された命令コードをこの命令サイクルの最
初のステートで解読し、データ読み出し命令であれば、
制御信号を出力して、バッファ23〜25をイネーブル
状態にし、セレクタ21がバッファ23の出力を選択す
るように制御する。これにより、命令コードの次に命令
レジスタ12に格納されるオペランドコードがデータア
クセス先のアドレスMとしてバッファ24を介してアド
レスバス6に出力され、バッファ23、セレクタ21を
介してROM2に与えられ、アドレスバス6を介してE
EPROM3に与えられる。
【0017】また、命令デコーダ13は、命令コードの
解読結果がデータ読み出し命令であれば、データ読み出
し命令であることを示す制御信号を出力する。この信号
はゲート回路19を通ってコントロール回路20に入力
される。このゲート回路の動作については後述する。こ
れにより、コントロール回路20からメモリリード信号
が出力される。
解読結果がデータ読み出し命令であれば、データ読み出
し命令であることを示す制御信号を出力する。この信号
はゲート回路19を通ってコントロール回路20に入力
される。このゲート回路の動作については後述する。こ
れにより、コントロール回路20からメモリリード信号
が出力される。
【0018】メモリリード信号が出力されたとき、マス
クROM2に与えられたアドレスがROM2に割り当て
られたアドレスであれば、ROM2の該当アドレスのデ
ータがバッファ25を介してデータバス5に出力され、
EEPROM3に割り当てられたアドレスであれば、R
OM3の該当アドレスのデータがデータバス5に出力さ
れる。このデータバス5に出力されたデータは、CPU
1内の図示しないアキュムレータ等の汎用レジスタに格
納される。こうして、データ読み出し命令のフェッチと
実行が終了する。
クROM2に与えられたアドレスがROM2に割り当て
られたアドレスであれば、ROM2の該当アドレスのデ
ータがバッファ25を介してデータバス5に出力され、
EEPROM3に割り当てられたアドレスであれば、R
OM3の該当アドレスのデータがデータバス5に出力さ
れる。このデータバス5に出力されたデータは、CPU
1内の図示しないアキュムレータ等の汎用レジスタに格
納される。こうして、データ読み出し命令のフェッチと
実行が終了する。
【0019】以上のような命令フェッチと命令実行にお
いて、メモリから読み出された命令が保護領域へのアク
セス命令であった場合には、その命令がどのメモリエリ
アから読み出されたものかを識別して、保護領域へのア
クセスが許されているエリアから読み出された命令であ
れば、通常通り命令の実行を継続するが、保護領域への
アクセスが許されていないエリアから読み出された命令
であれば、メモリアクセス操作を禁止する。次に、この
動作について説明する。
いて、メモリから読み出された命令が保護領域へのアク
セス命令であった場合には、その命令がどのメモリエリ
アから読み出されたものかを識別して、保護領域へのア
クセスが許されているエリアから読み出された命令であ
れば、通常通り命令の実行を継続するが、保護領域への
アクセスが許されていないエリアから読み出された命令
であれば、メモリアクセス操作を禁止する。次に、この
動作について説明する。
【0020】まず、エリアテーブル15には、マスクR
OM2あるいはEEPROM3内の保護領域のアドレス
が格納され、エリアテーブル16には、保護領域へのア
クセスが許されている命令の命令フェッチアドレスが格
納されている。これらの情報を設定するには、エリアテ
ーブル15,16にアドレス情報を書き込むためのプロ
グラムをROM2あるいはROM3に格納しておき、立
ち上げ時にエリアテーブル15,16に書き込みが行わ
れるようにすればよい。また、エリアテーブル15,1
6をROMとし、プログラムの作成時に書き込みを行う
ようにしてもよい。
OM2あるいはEEPROM3内の保護領域のアドレス
が格納され、エリアテーブル16には、保護領域へのア
クセスが許されている命令の命令フェッチアドレスが格
納されている。これらの情報を設定するには、エリアテ
ーブル15,16にアドレス情報を書き込むためのプロ
グラムをROM2あるいはROM3に格納しておき、立
ち上げ時にエリアテーブル15,16に書き込みが行わ
れるようにすればよい。また、エリアテーブル15,1
6をROMとし、プログラムの作成時に書き込みを行う
ようにしてもよい。
【0021】アクセス検出回路17は、命令デコーダ1
3がメモリアクセス命令であると識別したとき、エリア
テーブル15に保持されたアドレスとアドレスバス6に
出力されたアドレス(オペランドコードから得られたデ
ータアクセス先のアドレス)とを比較して、保護領域へ
のアクセス命令かどうかを判定する。
3がメモリアクセス命令であると識別したとき、エリア
テーブル15に保持されたアドレスとアドレスバス6に
出力されたアドレス(オペランドコードから得られたデ
ータアクセス先のアドレス)とを比較して、保護領域へ
のアクセス命令かどうかを判定する。
【0022】ここで、エリアテーブル15に登録された
アドレスは、保護領域のアドレスなので、例えば「80
00」番地から「8FFF」番地のように特定のアドレ
ス範囲が登録されている。したがって、アクセス検出回
路17は、テーブル15に登録されたアドレス範囲中に
アドレスバス6に出力されたアドレスと一致するものが
あれば、保護領域へのアクセス命令と判断し、一致する
ものがなければ、保護領域へのアクセス命令ではないと
判断する。
アドレスは、保護領域のアドレスなので、例えば「80
00」番地から「8FFF」番地のように特定のアドレ
ス範囲が登録されている。したがって、アクセス検出回
路17は、テーブル15に登録されたアドレス範囲中に
アドレスバス6に出力されたアドレスと一致するものが
あれば、保護領域へのアクセス命令と判断し、一致する
ものがなければ、保護領域へのアクセス命令ではないと
判断する。
【0023】また、エリアテーブル15に登録されたア
ドレス範囲中に該当するアドレスがあるかどうかを調べ
ればよいので、アドレスの全ビットを比較しなくてもよ
い。例えば、テーブル15に登録されたアドレスが「8
000」番地から「8FFF」番地であれば、この16
ビットのアドレス情報の上位4ビットが「1000」な
ので、上位4ビットのみ比較すればよい。
ドレス範囲中に該当するアドレスがあるかどうかを調べ
ればよいので、アドレスの全ビットを比較しなくてもよ
い。例えば、テーブル15に登録されたアドレスが「8
000」番地から「8FFF」番地であれば、この16
ビットのアドレス情報の上位4ビットが「1000」な
ので、上位4ビットのみ比較すればよい。
【0024】続いて、比較回路18は、アクセス検出回
路17が保護領域へのアクセス命令であると判断したと
き、命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスとエリアテーブル16に保持された
命令フェッチアドレスとを比較して、保護領域へのアク
セスが許されているエリアから読み出された命令かどう
かを判定する。
路17が保護領域へのアクセス命令であると判断したと
き、命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスとエリアテーブル16に保持された
命令フェッチアドレスとを比較して、保護領域へのアク
セスが許されているエリアから読み出された命令かどう
かを判定する。
【0025】このとき、エリアテーブル16にも特定の
アドレス範囲が登録されているので、比較回路18は、
エリアテーブル16に登録された命令フェッチアドレス
中に命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスと一致するものがあれば、保護領域
へのアクセスが許されているエリアから読み出された命
令であると判断し、一致するものがなければ、保護領域
へのアクセスが許されていないエリアから読み出された
命令であると判断する。そして、比較回路18は、保護
領域へのアクセスが許されていないエリアから読み出さ
れた命令であると判断したときに、禁止信号を出力す
る。
アドレス範囲が登録されているので、比較回路18は、
エリアテーブル16に登録された命令フェッチアドレス
中に命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスと一致するものがあれば、保護領域
へのアクセスが許されているエリアから読み出された命
令であると判断し、一致するものがなければ、保護領域
へのアクセスが許されていないエリアから読み出された
命令であると判断する。そして、比較回路18は、保護
領域へのアクセスが許されていないエリアから読み出さ
れた命令であると判断したときに、禁止信号を出力す
る。
【0026】ゲート回路19は、比較回路18から禁止
信号が出力されると、命令デコーダ13からコントロー
ル回路20への信号出力を抑止する。これにより、デー
タ読み出し命令であることを示す信号がコントロール回
路20に入力されないので、図2(f)の破線で示すメ
モリリード信号RDがコントロール回路20から出力さ
れなくなる。
信号が出力されると、命令デコーダ13からコントロー
ル回路20への信号出力を抑止する。これにより、デー
タ読み出し命令であることを示す信号がコントロール回
路20に入力されないので、図2(f)の破線で示すメ
モリリード信号RDがコントロール回路20から出力さ
れなくなる。
【0027】こうして、上記のようにエリアテーブル1
5,16にアドレス情報を予め設定しておけば、保護領
域へアクセスしない命令、あるいは保護領域へアクセス
する命令であっても、保護領域へのアクセスが許されて
いるエリアから読み出された命令であれば、正常に実行
され、一方、保護領域へのアクセスが許されていないエ
リアから読み出された命令であれば、不正な命令プログ
ラムと判断されて、メモリアクセスが禁止される。
5,16にアドレス情報を予め設定しておけば、保護領
域へアクセスしない命令、あるいは保護領域へアクセス
する命令であっても、保護領域へのアクセスが許されて
いるエリアから読み出された命令であれば、正常に実行
され、一方、保護領域へのアクセスが許されていないエ
リアから読み出された命令であれば、不正な命令プログ
ラムと判断されて、メモリアクセスが禁止される。
【0028】したがって、第3者がEEPROM3上に
不正な命令プログラムを書き込み、ROM2あるいはR
OM3の保護領域からデータを不正に読み出そうとして
も、保護領域からデータを読み出すことはできず、保護
領域のデータに対して演算を行うこともできない。
不正な命令プログラムを書き込み、ROM2あるいはR
OM3の保護領域からデータを不正に読み出そうとして
も、保護領域からデータを読み出すことはできず、保護
領域のデータに対して演算を行うこともできない。
【0029】なお、本実施の形態では、データ読み出し
命令について説明しているが、その他のメモリアクセス
命令についても同様に適用でき、例えば、EEPROM
3へのデータ書き込み命令であれば、上記の説明におけ
るデータアクセス先のアドレスがメモリ上の書き込み位
置となり、メモリリード信号がメモりライト信号となる
ことは言うまでもない。
命令について説明しているが、その他のメモリアクセス
命令についても同様に適用でき、例えば、EEPROM
3へのデータ書き込み命令であれば、上記の説明におけ
るデータアクセス先のアドレスがメモリ上の書き込み位
置となり、メモリリード信号がメモりライト信号となる
ことは言うまでもない。
【0030】実施の形態の2.図3は本発明の他の実施
の形態を示すメモリアクセス制御回路のブロック図であ
り、図1と同一の構成には同一の符号を付してある。本
実施の形態のメモリアクセス制御回路は、マスクROM
2あるいはEEPROM3上に例えば暗号処理ルーチン
のような第3者に知られたくない命令処理サブプログラ
ムが書き込まれているときに、その処理ルーチン内で行
っている処理内容を保護するためのものである。
の形態を示すメモリアクセス制御回路のブロック図であ
り、図1と同一の構成には同一の符号を付してある。本
実施の形態のメモリアクセス制御回路は、マスクROM
2あるいはEEPROM3上に例えば暗号処理ルーチン
のような第3者に知られたくない命令処理サブプログラ
ムが書き込まれているときに、その処理ルーチン内で行
っている処理内容を保護するためのものである。
【0031】このようなメモリアクセス制御回路の動作
を説明する。図4、図5はメモリアクセス制御回路の動
作を説明するためのタイミングチャート図である。な
お、図4は、分岐命令が保護領域への分岐が許されてい
るエリアから読み出された命令であった場合を示し、図
5は、分岐命令が保護領域への分岐が許されていないエ
リアから読み出された命令であった場合を示している。
を説明する。図4、図5はメモリアクセス制御回路の動
作を説明するためのタイミングチャート図である。な
お、図4は、分岐命令が保護領域への分岐が許されてい
るエリアから読み出された命令であった場合を示し、図
5は、分岐命令が保護領域への分岐が許されていないエ
リアから読み出された命令であった場合を示している。
【0032】ROM2あるいはROM3から命令を取り
出す命令フェッチ時、プログラムカウンタ11から出力
された命令フェッチアドレスは、実施の形態の1と同様
に、セレクタ21を介してマスクROM2に与えられ、
バッファ22、アドレスバス6を介してEEPROM3
に与えられる。
出す命令フェッチ時、プログラムカウンタ11から出力
された命令フェッチアドレスは、実施の形態の1と同様
に、セレクタ21を介してマスクROM2に与えられ、
バッファ22、アドレスバス6を介してEEPROM3
に与えられる。
【0033】この命令フェッチアドレスがマスクROM
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。
【0034】今、サブルーチンに分岐する分岐命令が2
バイト2ステートの命令形式であったとすると、命令フ
ェッチアドレスは、図4(b)に示すように、前の命令
の最終ステートにおいて、分岐命令の命令コードが格納
されている位置を指すアドレスADとなり、次のステー
トにおいて、その命令のオペランドコードが格納されて
いる位置を指すアドレスAD+1となる。
バイト2ステートの命令形式であったとすると、命令フ
ェッチアドレスは、図4(b)に示すように、前の命令
の最終ステートにおいて、分岐命令の命令コードが格納
されている位置を指すアドレスADとなり、次のステー
トにおいて、その命令のオペランドコードが格納されて
いる位置を指すアドレスAD+1となる。
【0035】したがって、命令レジスタ12には、図4
(d)に示すように、前の命令サイクルの最終ステート
において命令コードが格納され、次のステートにおいて
オペランドコードが格納される。一方、図4(c)に示
すように、プログラムカウンタ11から出力される命令
フェッチアドレスのうち、命令コードのアドレスADが
命令フェッチアドレスレジスタ14に格納される。
(d)に示すように、前の命令サイクルの最終ステート
において命令コードが格納され、次のステートにおいて
オペランドコードが格納される。一方、図4(c)に示
すように、プログラムカウンタ11から出力される命令
フェッチアドレスのうち、命令コードのアドレスADが
命令フェッチアドレスレジスタ14に格納される。
【0036】続いて、命令デコーダ13は、命令レジス
タ12に格納された命令コードをこの命令サイクルの最
初のステートで解読し、分岐命令であれば、制御信号を
出力して、バッファ22,24,26をイネーブル状態
にし、セレクタ21がプログラムカウンタ11の出力を
選択するように制御する。
タ12に格納された命令コードをこの命令サイクルの最
初のステートで解読し、分岐命令であれば、制御信号を
出力して、バッファ22,24,26をイネーブル状態
にし、セレクタ21がプログラムカウンタ11の出力を
選択するように制御する。
【0037】これにより、命令コードの次に命令レジス
タ12に格納されるオペランドコードが、分岐先のアド
レスNとしてバッファ24を介してアドレスバス6に出
力され、さらにバッファ26を経由してプログラムカウ
ンタ11に格納される。こうして、プログラムカウンタ
11から出力される命令フェッチアドレスが、図4
(b)に示すように、アドレスNとなる。そして、この
命令フェッチアドレスは、セレクタ21を介してマスク
ROM2に与えられ、バッファ22、アドレスバス6を
介してEEPROM3に与えられる。
タ12に格納されるオペランドコードが、分岐先のアド
レスNとしてバッファ24を介してアドレスバス6に出
力され、さらにバッファ26を経由してプログラムカウ
ンタ11に格納される。こうして、プログラムカウンタ
11から出力される命令フェッチアドレスが、図4
(b)に示すように、アドレスNとなる。そして、この
命令フェッチアドレスは、セレクタ21を介してマスク
ROM2に与えられ、バッファ22、アドレスバス6を
介してEEPROM3に与えられる。
【0038】この命令フェッチアドレスがマスクROM
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。こうして、分岐処理が行われる。
2に割り当てられたアドレスであれば、ROM2の該当
アドレスの命令語がインストラクションバス7に出力さ
れ、EEPROM3に割り当てられたアドレスであれ
ば、ROM3の該当アドレスの命令語がインストラクシ
ョンバス7に出力される。そして、インストラクション
バス7に出力された命令語は、命令レジスタ12に格納
される。こうして、分岐処理が行われる。
【0039】プログラムカウンタ11から出力される命
令フェッチアドレスは、通常、命令フェッチと命令実行
に伴って、初期設定値からインクリメントしながら更新
されていくが、上記のように分岐命令がメモリから読み
出されると、分岐先のアドレスに更新されて、プログラ
ム実行のアドレス分岐が行われる。
令フェッチアドレスは、通常、命令フェッチと命令実行
に伴って、初期設定値からインクリメントしながら更新
されていくが、上記のように分岐命令がメモリから読み
出されると、分岐先のアドレスに更新されて、プログラ
ム実行のアドレス分岐が行われる。
【0040】以上のような分岐命令フェッチと分岐命令
実行において、メモリから読み出された命令が保護領域
への分岐命令であった場合には、その命令がどのメモリ
エリアから読み出されたものかを識別して、保護領域へ
の分岐が許されているエリアから読み出された命令であ
れば、通常通り分岐を実行するが、保護領域への分岐が
許されていないエリアから読み出された命令であれば、
分岐命令の実行を禁止する。次に、この動作について説
明する。
実行において、メモリから読み出された命令が保護領域
への分岐命令であった場合には、その命令がどのメモリ
エリアから読み出されたものかを識別して、保護領域へ
の分岐が許されているエリアから読み出された命令であ
れば、通常通り分岐を実行するが、保護領域への分岐が
許されていないエリアから読み出された命令であれば、
分岐命令の実行を禁止する。次に、この動作について説
明する。
【0041】まず、エリアテーブル15には、マスクR
OM2あるいはEEPROM3内の保護領域のアドレス
が格納され、エリアテーブル16aには、保護領域への
分岐が許されている分岐命令の命令フェッチアドレスが
格納されている。これらの情報の設定の仕方は、実施の
形態の1と同様でよい。
OM2あるいはEEPROM3内の保護領域のアドレス
が格納され、エリアテーブル16aには、保護領域への
分岐が許されている分岐命令の命令フェッチアドレスが
格納されている。これらの情報の設定の仕方は、実施の
形態の1と同様でよい。
【0042】アクセス検出回路17aは、命令デコーダ
13が分岐命令であると識別したとき、エリアテーブル
15に保持されたアドレスとアドレスバス6に出力され
たアドレス(オペランドコードから得られた分岐先のア
ドレス)とを比較して、保護領域への分岐命令かどうか
を判定する。
13が分岐命令であると識別したとき、エリアテーブル
15に保持されたアドレスとアドレスバス6に出力され
たアドレス(オペランドコードから得られた分岐先のア
ドレス)とを比較して、保護領域への分岐命令かどうか
を判定する。
【0043】つまり、アクセス検出回路17aは、エリ
アテーブル15に登録されたアドレス範囲中にアドレス
バス6に出力されたアドレスと一致するものがあれば、
保護領域への分岐命令と判断し、一致するものがなけれ
ば、保護領域への分岐命令ではないと判断する。
アテーブル15に登録されたアドレス範囲中にアドレス
バス6に出力されたアドレスと一致するものがあれば、
保護領域への分岐命令と判断し、一致するものがなけれ
ば、保護領域への分岐命令ではないと判断する。
【0044】続いて、比較回路18aは、アクセス検出
回路17aが保護領域への分岐命令であると判断したと
き、命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスとエリアテーブル16aに保持され
た命令フェッチアドレスとを比較して、保護領域への分
岐が許されているエリアから読み出された命令かどうか
を判定する。
回路17aが保護領域への分岐命令であると判断したと
き、命令フェッチアドレスレジスタ14に保持された命
令フェッチアドレスとエリアテーブル16aに保持され
た命令フェッチアドレスとを比較して、保護領域への分
岐が許されているエリアから読み出された命令かどうか
を判定する。
【0045】つまり、比較回路18aは、エリアテーブ
ル16aに登録された命令フェッチアドレス中に命令フ
ェッチアドレスレジスタ14に保持された命令フェッチ
アドレスと一致するものがあれば、保護領域への分岐が
許されているエリアから読み出された命令であると判断
し、一致するものがなければ、保護領域への分岐が許さ
れていないエリアから読み出された命令であると判断す
る。そして、比較回路18aは、保護領域への分岐が許
されていないエリアから読み出された命令であると判断
したときに、禁止信号を出力する。
ル16aに登録された命令フェッチアドレス中に命令フ
ェッチアドレスレジスタ14に保持された命令フェッチ
アドレスと一致するものがあれば、保護領域への分岐が
許されているエリアから読み出された命令であると判断
し、一致するものがなければ、保護領域への分岐が許さ
れていないエリアから読み出された命令であると判断す
る。そして、比較回路18aは、保護領域への分岐が許
されていないエリアから読み出された命令であると判断
したときに、禁止信号を出力する。
【0046】コントロール回路20aは、比較回路18
aから禁止信号が出力されると、CPU1aの外部から
リセット信号が入力されたときと同様のCPUリセット
が実施される内部リセット信号を図5(f)のように出
力し、CPUリセットをかける。同時に、この内部リセ
ット信号はCPU1aの周辺回路にも出力され、CPU
周辺の回路についても同様にリセットされる。
aから禁止信号が出力されると、CPU1aの外部から
リセット信号が入力されたときと同様のCPUリセット
が実施される内部リセット信号を図5(f)のように出
力し、CPUリセットをかける。同時に、この内部リセ
ット信号はCPU1aの周辺回路にも出力され、CPU
周辺の回路についても同様にリセットされる。
【0047】内部リセット信号が出力されると、プログ
ラムカウンタ11がゼロクリアされるために、命令フェ
ッチアドレスは、図5(b)に示すように、「000
0」となる。これにより、分岐命令のステータス後はリ
セットベクタ処理ルーチンが実行される。
ラムカウンタ11がゼロクリアされるために、命令フェ
ッチアドレスは、図5(b)に示すように、「000
0」となる。これにより、分岐命令のステータス後はリ
セットベクタ処理ルーチンが実行される。
【0048】サブルーチン(サブプログラム)がROM
2あるいはROM3上に書き込まれていた場合、サブル
ーチンを読み出そうとする第3者は、サブルーチンをコ
ールするような命令プログラムをメモリに書き込むこと
が考えられる。通常、このようなサブルーチンが書き込
まれているアドレスは、第3者には知りえないものであ
るが、周辺装置の動きや、そのときのデータバス5、ア
ドレスバス6上のデータを外部からモニタすることによ
り、予測することは可能である。この場合、サブルーチ
ンに大量の解析用データを順次与え、得られた膨大な結
果から処理結果を解析することにより、サブルーチンで
行っている処理内容が解読されるおそれがある。
2あるいはROM3上に書き込まれていた場合、サブル
ーチンを読み出そうとする第3者は、サブルーチンをコ
ールするような命令プログラムをメモリに書き込むこと
が考えられる。通常、このようなサブルーチンが書き込
まれているアドレスは、第3者には知りえないものであ
るが、周辺装置の動きや、そのときのデータバス5、ア
ドレスバス6上のデータを外部からモニタすることによ
り、予測することは可能である。この場合、サブルーチ
ンに大量の解析用データを順次与え、得られた膨大な結
果から処理結果を解析することにより、サブルーチンで
行っている処理内容が解読されるおそれがある。
【0049】本実施の形態によれば、エリアテーブル1
5,16aにアドレス情報を予め設定しておくことによ
り、保護領域へ分岐しない命令、あるいは保護領域へ分
岐する命令であっても、保護領域への分岐が許されてい
るエリアから読み出された命令であれば、正常に実行さ
れ、一方、保護領域への分岐が許されていないエリアか
ら読み出された命令であれば、不正な命令プログラムと
判断されて、処理がリセットされる。
5,16aにアドレス情報を予め設定しておくことによ
り、保護領域へ分岐しない命令、あるいは保護領域へ分
岐する命令であっても、保護領域への分岐が許されてい
るエリアから読み出された命令であれば、正常に実行さ
れ、一方、保護領域への分岐が許されていないエリアか
ら読み出された命令であれば、不正な命令プログラムと
判断されて、処理がリセットされる。
【0050】したがって、第3者がEEPROM3上に
不正な命令プログラムを書き込んだとしても、ROM2
あるいはROM3上の保護領域のサブルーチンをコール
することはできず、このサブルーチンに解析用データを
与えることはできない。
不正な命令プログラムを書き込んだとしても、ROM2
あるいはROM3上の保護領域のサブルーチンをコール
することはできず、このサブルーチンに解析用データを
与えることはできない。
【0051】なお、本実施の形態では、コントロール回
路20aを禁止手段としているが、比較回路18aから
出力される禁止信号を命令デコーダ13に与えることに
より、命令デコーダ13を禁止手段としてもよい。命令
デコーダ13は、分岐命令をフェッチしたとき、プログ
ラムカウンタ11の値を分岐先のアドレスに更新する制
御を行うが、比較回路18aから禁止信号が入力される
と、アドレスを更新するための制御信号にマスクをかけ
る。
路20aを禁止手段としているが、比較回路18aから
出力される禁止信号を命令デコーダ13に与えることに
より、命令デコーダ13を禁止手段としてもよい。命令
デコーダ13は、分岐命令をフェッチしたとき、プログ
ラムカウンタ11の値を分岐先のアドレスに更新する制
御を行うが、比較回路18aから禁止信号が入力される
と、アドレスを更新するための制御信号にマスクをかけ
る。
【0052】よって、禁止信号が出力されると、プログ
ラムカウンタ11から出力される命令フェッチアドレス
は、分岐先のアドレスに更新されることなく、通常通り
に+1インクリメントされるので、実質的にはNOP
(NO 0peration)命令が実行されたときと同じとなる。
こうして、上記と同様の効果を得ることができる。
ラムカウンタ11から出力される命令フェッチアドレス
は、分岐先のアドレスに更新されることなく、通常通り
に+1インクリメントされるので、実質的にはNOP
(NO 0peration)命令が実行されたときと同じとなる。
こうして、上記と同様の効果を得ることができる。
【0053】また、禁止信号が出力されたとき、コント
ロール回路20aが、CPU1aの外部からインタラプ
ト信号が入力されたときと同様の割り込み処理をかけて
もよい。この場合は、ノンマスク割り込みが強制的に起
動し、割り込み処理ルーチン内で何らかの処理(例え
ば、不正なアクセスである旨を表示装置上に表示するな
ど)が行われることになる。
ロール回路20aが、CPU1aの外部からインタラプ
ト信号が入力されたときと同様の割り込み処理をかけて
もよい。この場合は、ノンマスク割り込みが強制的に起
動し、割り込み処理ルーチン内で何らかの処理(例え
ば、不正なアクセスである旨を表示装置上に表示するな
ど)が行われることになる。
【0054】また、複数の命令を決められた命令フェッ
チアドレス順に実行した後に分岐命令を実行する以外
は、分岐命令の実行を禁止するようにすれば、保護機能
をより高めることができる。
チアドレス順に実行した後に分岐命令を実行する以外
は、分岐命令の実行を禁止するようにすれば、保護機能
をより高めることができる。
【0055】これは、複数の命令コードの命令フェッチ
アドレスを命令フェッチアドレスレジスタ14に格納で
きるようにして、エリアテーブル16aに保護領域への
分岐が許されている分岐命令の命令フェッチアドレスだ
けでなく、この分岐命令の前に実行される複数の命令の
命令フェッチアドレスを設定し、比較回路18aでレジ
スタ14とテーブル16aの内容を比較させればよい。
アドレスを命令フェッチアドレスレジスタ14に格納で
きるようにして、エリアテーブル16aに保護領域への
分岐が許されている分岐命令の命令フェッチアドレスだ
けでなく、この分岐命令の前に実行される複数の命令の
命令フェッチアドレスを設定し、比較回路18aでレジ
スタ14とテーブル16aの内容を比較させればよい。
【0056】なお、実施の形態の1、2では、メモリの
構成をマスクROM2、EEPROM3、RAM4から
なるものとしているが、これに限るものではない。ま
た、バスの構成をデータバス5、アドレスバス6、イン
ストラクションバス7の3本としているが、インストラ
クションバスがないものでも構わない。この場合は、デ
ータバス上にデータと命令が時分割に存在することにな
る。また、RAM4に保護領域があってもよく、RAM
4から命令をフェッチしてもよい。
構成をマスクROM2、EEPROM3、RAM4から
なるものとしているが、これに限るものではない。ま
た、バスの構成をデータバス5、アドレスバス6、イン
ストラクションバス7の3本としているが、インストラ
クションバスがないものでも構わない。この場合は、デ
ータバス上にデータと命令が時分割に存在することにな
る。また、RAM4に保護領域があってもよく、RAM
4から命令をフェッチしてもよい。
【0057】
【発明の効果】本発明によれば、請求項1に記載のよう
に、アクセス検出手段によって保護領域へのアクセス命
令かどうかを判定し、保護領域へのアクセス命令が検出
されたとき、保護領域へのアクセスが許されている格納
位置から読み出された命令かどうかを比較手段によって
判断し、保護領域へのアクセスが許されていない格納位
置から読み出された命令と判断したときに、不正なアク
セスと見なして禁止信号を出力し、禁止手段によってメ
モリアクセスを禁止することにより、保護領域への不正
なアクセスを禁止することができるので、保護領域のデ
ータを保護することができ、高い保護機能を実現するこ
とができる。よって、メモリ間の転送命令のみならずメ
モリアクセスに係わる全ての命令に対して不正なアクセ
スかどうかを判定するので、保護領域内のデータをメモ
リに直接読み出さずに保護領域内のデータに何らかの演
算を行ってデータ内容を間接的に知ることもできなくな
る。
に、アクセス検出手段によって保護領域へのアクセス命
令かどうかを判定し、保護領域へのアクセス命令が検出
されたとき、保護領域へのアクセスが許されている格納
位置から読み出された命令かどうかを比較手段によって
判断し、保護領域へのアクセスが許されていない格納位
置から読み出された命令と判断したときに、不正なアク
セスと見なして禁止信号を出力し、禁止手段によってメ
モリアクセスを禁止することにより、保護領域への不正
なアクセスを禁止することができるので、保護領域のデ
ータを保護することができ、高い保護機能を実現するこ
とができる。よって、メモリ間の転送命令のみならずメ
モリアクセスに係わる全ての命令に対して不正なアクセ
スかどうかを判定するので、保護領域内のデータをメモ
リに直接読み出さずに保護領域内のデータに何らかの演
算を行ってデータ内容を間接的に知ることもできなくな
る。
【0058】また、請求項2に記載のように、アクセス
検出手段によって保護領域への分岐命令かどうかを判定
し、保護領域への分岐命令が検出されたとき、保護領域
への分岐が許されている格納位置から読み出された命令
かどうかを比較手段によって判断して、保護領域への分
岐が許されていない格納位置から読み出された命令と判
断したときに、不正な命令と見なして禁止信号を出力
し、禁止手段によって分岐命令の実行を禁止することに
より、保護領域への不正な分岐を禁止することができる
ので、保護領域のサブプログラムを保護することができ
る。これにより、外部からの不正なアクセスにより、不
要に保護領域内の命令プログラムを実行させることを禁
止し、第3者による命令プログラム解読等の不正なアク
セスを妨げることができる。
検出手段によって保護領域への分岐命令かどうかを判定
し、保護領域への分岐命令が検出されたとき、保護領域
への分岐が許されている格納位置から読み出された命令
かどうかを比較手段によって判断して、保護領域への分
岐が許されていない格納位置から読み出された命令と判
断したときに、不正な命令と見なして禁止信号を出力
し、禁止手段によって分岐命令の実行を禁止することに
より、保護領域への不正な分岐を禁止することができる
ので、保護領域のサブプログラムを保護することができ
る。これにより、外部からの不正なアクセスにより、不
要に保護領域内の命令プログラムを実行させることを禁
止し、第3者による命令プログラム解読等の不正なアク
セスを妨げることができる。
【図1】 本発明の第1の実施の形態を示すメモリアク
セス制御回路のブロック図である。
セス制御回路のブロック図である。
【図2】 図1のメモリアクセス制御回路の動作を説明
するためのタイミングチャート図である。
するためのタイミングチャート図である。
【図3】 本発明の他の実施の形態を示すメモリアクセ
ス制御回路のブロック図である。
ス制御回路のブロック図である。
【図4】 図3のメモリアクセス制御回路の動作を説明
するためのタイミングチャート図である。
するためのタイミングチャート図である。
【図5】 図3のメモリアクセス制御回路の動作を説明
するためのタイミングチャート図である。
するためのタイミングチャート図である。
【図6】 従来のメモリアクセス制御回路のブロック図
である。
である。
1、1a…CPU、2…マスクROM、3…EEPRO
M、4…RAM、5…データバス、6…アドレスバス、
7…インストラクションバス、11…プログラムカウン
タ、12…命令レジスタ、13…命令デコーダ、14…
命令フェッチアドレスレジスタ、15、16、16a…
エリアテーブル、17、17a…アクセス検出回路、1
8、18a…比較回路、19…ゲート回路、20、20
a…コントロール回路。
M、4…RAM、5…データバス、6…アドレスバス、
7…インストラクションバス、11…プログラムカウン
タ、12…命令レジスタ、13…命令デコーダ、14…
命令フェッチアドレスレジスタ、15、16、16a…
エリアテーブル、17、17a…アクセス検出回路、1
8、18a…比較回路、19…ゲート回路、20、20
a…コントロール回路。
Claims (2)
- 【請求項1】 メモリ上の保護すべき領域に対するアク
セスを検出して不正なアクセスを禁止するメモリアクセ
ス制御回路であって、 実行すべき命令が格納されたメモリ上の位置を表す命令
フェッチアドレスを保持する第1のアドレス保持手段
と、 前記保護領域のアドレスを保持する第2のアドレス保持
手段と、 前記保護領域へのアクセスが許されている命令のメモリ
上の位置を表す命令フェッチアドレスを保持する第3の
アドレス保持手段と、 メモリから読み出された命令の解読結果、及びこの命令
が示すアクセス先のアドレスと第2のアドレス保持手段
に保持されたアドレスの比較結果に基づいて、保護領域
へのアクセス命令かどうかを判定するアクセス検出手段
と、 このアクセス検出手段により保護領域へのアクセス命令
が検出されたとき、第1、第3のアドレス保持手段に保
持された命令フェッチアドレスを比較して、保護領域へ
のアクセスが許されていない格納位置から読み出された
命令と判断したときに禁止信号を出力する比較手段と、 禁止信号が出力されたときにメモリアクセスを禁止する
禁止手段とを有することを特徴とするメモリアクセス制
御回路。 - 【請求項2】 メモリ上の保護すべき領域に対するアク
セスを検出して不正なアクセスを禁止するメモリアクセ
ス制御回路であって、 実行すべき命令が格納されたメモリ上の位置を表す命令
フェッチアドレスを保持する第1のアドレス保持手段
と、 前記保護領域のアドレスを保持する第2のアドレス保持
手段と、 前記保護領域への分岐が許されている分岐命令のメモリ
上の位置を表す命令フェッチアドレスを保持する第3の
アドレス保持手段と、 メモリから読み出された命令の解読結果、及びこの命令
が示す分岐先のアドレスと第2のアドレス保持手段に保
持されたアドレスの比較結果に基づいて、保護領域への
分岐命令かどうかを判定するアクセス検出手段と、 このアクセス検出手段により保護領域への分岐命令が検
出されたとき、第1、第3のアドレス保持手段に保持さ
れた命令フェッチアドレスを比較して、保護領域への分
岐が許されていない格納位置から読み出された命令と判
断したときに禁止信号を出力する比較手段と、 禁止信号が出力されたときに分岐命令の実行を禁止する
禁止手段とを有することを特徴とするメモリアクセス制
御回路。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9030385A JPH10228421A (ja) | 1997-02-14 | 1997-02-14 | メモリアクセス制御回路 |
EP98102568A EP0859319A1 (en) | 1997-02-14 | 1998-02-13 | Memory access control circuit |
CNB981070302A CN1145885C (zh) | 1997-02-14 | 1998-02-14 | 存储器存取控制电路 |
KR1019980004485A KR100319677B1 (ko) | 1997-02-14 | 1998-02-14 | 메모리액세스제어회로 |
US09/024,874 US6101586A (en) | 1997-02-14 | 1998-02-17 | Memory access control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9030385A JPH10228421A (ja) | 1997-02-14 | 1997-02-14 | メモリアクセス制御回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10228421A true JPH10228421A (ja) | 1998-08-25 |
Family
ID=12302439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9030385A Pending JPH10228421A (ja) | 1997-02-14 | 1997-02-14 | メモリアクセス制御回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6101586A (ja) |
EP (1) | EP0859319A1 (ja) |
JP (1) | JPH10228421A (ja) |
KR (1) | KR100319677B1 (ja) |
CN (1) | CN1145885C (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202154B1 (en) * | 1997-04-16 | 2001-03-13 | Hitachi,Ltd. | Data transfer controller, microcomputer and data processing system |
JP2005301949A (ja) * | 2004-03-19 | 2005-10-27 | Toshiba Kyaria Kk | マイクロコンピュータ |
WO2006040798A1 (ja) * | 2004-10-08 | 2006-04-20 | Renesas Technology Corp. | 半導体集積回路装置および電子システム |
US7266658B2 (en) | 2002-09-12 | 2007-09-04 | International Business Machines Corporation | System, method, and computer program product for prohibiting unauthorized access to protected memory regions |
JP2009059303A (ja) * | 2007-09-03 | 2009-03-19 | Kyoraku Sangyo Kk | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
JP2010002975A (ja) * | 2008-06-18 | 2010-01-07 | Dainippon Printing Co Ltd | 情報処理装置、正常処理判別方法、及び情報処理プログラム |
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
JP2015018552A (ja) * | 2013-07-09 | 2015-01-29 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 安全保護方法およびプロセッサ |
JP2015525916A (ja) * | 2012-06-27 | 2015-09-07 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | メモリ保護装置及び保護方法 |
US9305183B2 (en) | 2000-06-30 | 2016-04-05 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
US11757624B2 (en) | 2019-09-24 | 2023-09-12 | Kabushiki Kaisha Toshiba | Data transfer control device, data transfer control system, and data transfer control method |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11238016A (ja) * | 1998-02-23 | 1999-08-31 | Nec Corp | メモリ保護方法及び装置 |
DE19846676C1 (de) | 1998-10-09 | 2000-03-02 | Siemens Ag | Verfahren zur Absicherung von Einsprungsadressen |
US6832257B1 (en) * | 1998-12-07 | 2004-12-14 | Sony Corporation | Computer, recorded medium on which address validity checking program is recorded, and address validity checking method |
US6488581B1 (en) * | 1999-06-22 | 2002-12-03 | Igt | Mass storage data protection device for a gaming machine |
CN100385412C (zh) * | 1999-10-26 | 2008-04-30 | 华硕电脑股份有限公司 | 存储器模组控制装置 |
US6615324B1 (en) * | 2000-01-07 | 2003-09-02 | Cygnal Integrated Products, Inc. | Embedded microprocessor multi-level security system in flash memory |
US6643751B2 (en) * | 2000-03-20 | 2003-11-04 | Texas Instruments Incorporated | System and method for limited access to system memory |
US7171542B1 (en) * | 2000-06-19 | 2007-01-30 | Silicon Labs Cp, Inc. | Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins |
US20050066178A1 (en) * | 2000-07-31 | 2005-03-24 | Rowe Vernon E. | Method and apparatus for controlling access to memory |
JP4678084B2 (ja) * | 2000-09-29 | 2011-04-27 | ソニー株式会社 | メモリ装置およびメモリアクセス制限方法 |
DE10146516A1 (de) * | 2001-09-21 | 2003-04-24 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10159165B4 (de) * | 2001-12-03 | 2007-02-08 | Agilent Technologies, Inc. (n.d.Ges.d.Staates Delaware), Palo Alto | Vorrichtung zum Messen und/oder Kalibrieren eines Testkopfes |
JP2004013556A (ja) * | 2002-06-07 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ装置、コンパイル装置及びその方法 |
US7743257B2 (en) * | 2002-06-27 | 2010-06-22 | Nxp B.V. | Security processor with bus configuration |
JP4347582B2 (ja) * | 2003-02-04 | 2009-10-21 | パナソニック株式会社 | 情報処理装置 |
EP1548601A1 (fr) * | 2003-12-23 | 2005-06-29 | Stmicroelectronics SA | Contrôle d'accès mémoire dans un appareil électronique |
US20050216713A1 (en) * | 2004-03-25 | 2005-09-29 | International Business Machines Corporation | Instruction text controlled selectively stated branches for prediction via a branch target buffer |
US7164611B2 (en) * | 2004-10-26 | 2007-01-16 | Micron Technology, Inc. | Data retention kill function |
DE102004057259A1 (de) * | 2004-11-26 | 2006-06-01 | Robert Bosch Gmbh | Manipulationsgeschütztes Mikrocontrollersystem |
US20070021193A1 (en) * | 2005-06-24 | 2007-01-25 | Konami Corporation | Data protection system and game machine |
US7739517B2 (en) * | 2005-03-31 | 2010-06-15 | Intel Corporation | Hardware-based authentication of a software program |
US7953980B2 (en) * | 2005-06-30 | 2011-05-31 | Intel Corporation | Signed manifest for run-time verification of software program identity and integrity |
JP2007052481A (ja) * | 2005-08-15 | 2007-03-01 | Matsushita Electric Ind Co Ltd | Icカード用lsi |
US7748037B2 (en) * | 2005-09-22 | 2010-06-29 | Intel Corporation | Validating a memory type modification attempt |
US20070067590A1 (en) * | 2005-09-22 | 2007-03-22 | Uday Savagaonkar | Providing protected access to critical memory regions |
US8099574B2 (en) | 2006-12-27 | 2012-01-17 | Intel Corporation | Providing protected access to critical memory regions |
KR20080067774A (ko) * | 2007-01-17 | 2008-07-22 | 삼성전자주식회사 | 허가되지 않은 메모리 접근으로부터 비밀 영역을 보호하기위한 방법 및 시스템 |
GB2448149B (en) | 2007-04-03 | 2011-05-18 | Advanced Risc Mach Ltd | Protected function calling |
GB2448151B (en) | 2007-04-03 | 2011-05-04 | Advanced Risc Mach Ltd | Memory domain based security control within data processing systems |
DE602007012519D1 (de) | 2007-04-05 | 2011-03-31 | St Microelectronics Res & Dev | Integrierte Schaltung mit beschränktem Datenzugang |
US8099718B2 (en) * | 2007-11-13 | 2012-01-17 | Intel Corporation | Method and system for whitelisting software components |
US7895404B2 (en) | 2008-02-14 | 2011-02-22 | Atmel Rousset S.A.S. | Access rights on a memory map |
EP2297636A1 (en) * | 2008-06-27 | 2011-03-23 | Nxp B.V. | Method of interruption of meta language program code execution |
DE102008048066B4 (de) * | 2008-09-19 | 2018-02-01 | Texas Instruments Deutschland Gmbh | Zugriffssteuerschaltung zur Verwendung mit einer Überwachungs-Logikschaltungsanordnung in einem Verfahren zum Schutz von Software für eingebettete Anwendungen vor unerlaubtem Zugriff |
US8364601B2 (en) * | 2008-12-31 | 2013-01-29 | Intel Corporation | Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain |
US20110258421A1 (en) * | 2010-04-19 | 2011-10-20 | International Business Machines Corporation | Architecture Support for Debugging Multithreaded Code |
CN104636275B (zh) * | 2014-12-30 | 2018-02-23 | 北京兆易创新科技股份有限公司 | 一种mcu芯片的信息保护方法和装置 |
CN107451493A (zh) * | 2016-05-30 | 2017-12-08 | 珠海市微半导体有限公司 | Risc架构保密电路及其方法 |
DE102017208818A1 (de) | 2017-05-24 | 2018-11-29 | Wago Verwaltungsgesellschaft Mbh | Initialisierung von Datenbusteilnehmern |
GB2570692B (en) * | 2018-02-02 | 2020-09-09 | Advanced Risc Mach Ltd | Controlling guard tag checking in memory accesses |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
JPS5781650A (en) * | 1980-11-07 | 1982-05-21 | Mitsubishi Electric Corp | Data processor |
JPS5783850A (en) * | 1980-11-12 | 1982-05-25 | Mitsubishi Electric Corp | Data processing device |
US4521853A (en) * | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Secure microprocessor/microcomputer with secured memory |
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
US4521852A (en) * | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
US4603381A (en) * | 1982-06-30 | 1986-07-29 | Texas Instruments Incorporated | Use of implant process for programming ROM type processor for encryption |
JPS62204345A (ja) * | 1986-03-05 | 1987-09-09 | Oki Electric Ind Co Ltd | マイクロコンピユ−タ |
JPH02148152A (ja) * | 1988-11-29 | 1990-06-07 | Mitsubishi Electric Corp | マイクロコンピュータ |
DE4115152C2 (de) * | 1991-05-08 | 2003-04-24 | Gao Ges Automation Org | Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung |
WO1993010498A1 (en) * | 1991-11-12 | 1993-05-27 | Microchip Technology Inc. | Security for on-chip microcontroller memory |
JPH05265864A (ja) * | 1992-03-17 | 1993-10-15 | Fujitsu Ltd | メモリ管理回路及びメモリ管理回路付きのプロセッサユニット |
JPH0696235A (ja) * | 1992-09-16 | 1994-04-08 | Mitsubishi Electric Corp | シングルチップマイクロコンピュータ |
JPH06202957A (ja) * | 1992-12-29 | 1994-07-22 | Casio Comput Co Ltd | メモリ保護装置 |
JP3520102B2 (ja) * | 1993-12-28 | 2004-04-19 | 株式会社東芝 | マイクロコンピュータ |
JPH09114743A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | シングルチップ・マイクロコンピュータ |
JPH09160831A (ja) * | 1995-12-08 | 1997-06-20 | Hitachi Ltd | 情報処理装置 |
-
1997
- 1997-02-14 JP JP9030385A patent/JPH10228421A/ja active Pending
-
1998
- 1998-02-13 EP EP98102568A patent/EP0859319A1/en not_active Withdrawn
- 1998-02-14 KR KR1019980004485A patent/KR100319677B1/ko not_active IP Right Cessation
- 1998-02-14 CN CNB981070302A patent/CN1145885C/zh not_active Expired - Fee Related
- 1998-02-17 US US09/024,874 patent/US6101586A/en not_active Expired - Lifetime
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496934B2 (en) | 1997-04-16 | 2002-12-17 | Hitachi, Ltd. | Data transfer controller, microcomputer and data processing system |
US6202154B1 (en) * | 1997-04-16 | 2001-03-13 | Hitachi,Ltd. | Data transfer controller, microcomputer and data processing system |
US9971909B2 (en) | 2000-06-30 | 2018-05-15 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9507963B2 (en) | 2000-06-30 | 2016-11-29 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9507962B2 (en) | 2000-06-30 | 2016-11-29 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9547779B2 (en) | 2000-06-30 | 2017-01-17 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9323954B2 (en) | 2000-06-30 | 2016-04-26 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9305183B2 (en) | 2000-06-30 | 2016-04-05 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US9619672B2 (en) | 2000-06-30 | 2017-04-11 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US10572689B2 (en) | 2000-06-30 | 2020-02-25 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7266658B2 (en) | 2002-09-12 | 2007-09-04 | International Business Machines Corporation | System, method, and computer program product for prohibiting unauthorized access to protected memory regions |
JP4669666B2 (ja) * | 2004-03-19 | 2011-04-13 | 東芝キヤリア株式会社 | マイクロコンピュータ |
JP2005301949A (ja) * | 2004-03-19 | 2005-10-27 | Toshiba Kyaria Kk | マイクロコンピュータ |
WO2006040798A1 (ja) * | 2004-10-08 | 2006-04-20 | Renesas Technology Corp. | 半導体集積回路装置および電子システム |
KR101449971B1 (ko) * | 2007-09-03 | 2014-10-14 | 교라쿠 인더스트리얼 코포레이션, 리미티드 | 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램 |
JP4562759B2 (ja) * | 2007-09-03 | 2010-10-13 | 京楽産業.株式会社 | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
JP2009059303A (ja) * | 2007-09-03 | 2009-03-19 | Kyoraku Sangyo Kk | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
JP2010002975A (ja) * | 2008-06-18 | 2010-01-07 | Dainippon Printing Co Ltd | 情報処理装置、正常処理判別方法、及び情報処理プログラム |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
JP2015525916A (ja) * | 2012-06-27 | 2015-09-07 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | メモリ保護装置及び保護方法 |
JP2015018552A (ja) * | 2013-07-09 | 2015-01-29 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 安全保護方法およびプロセッサ |
US11757624B2 (en) | 2019-09-24 | 2023-09-12 | Kabushiki Kaisha Toshiba | Data transfer control device, data transfer control system, and data transfer control method |
Also Published As
Publication number | Publication date |
---|---|
EP0859319A1 (en) | 1998-08-19 |
KR19980071365A (ko) | 1998-10-26 |
US6101586A (en) | 2000-08-08 |
CN1145885C (zh) | 2004-04-14 |
CN1196524A (zh) | 1998-10-21 |
KR100319677B1 (ko) | 2002-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10228421A (ja) | メモリアクセス制御回路 | |
JP3710671B2 (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 | |
JP6306578B2 (ja) | メモリ保護装置及び保護方法 | |
US6397301B1 (en) | Preventing access to secure area of a cache | |
US8327100B2 (en) | Execute only access rights on a Von Neuman architectures | |
US9626303B2 (en) | Data processing apparatus and address space protection method | |
WO2005116842A1 (en) | Digital signal controller secure memory partitioning | |
EP0661642B1 (en) | Microcomputer with memory read protection | |
US7523279B2 (en) | Information processing apparatus for accessing memory spaces including a user memory space and a secure memory space | |
EP2842041B1 (en) | Data processing system and method for operating a data processing system | |
JP2000076133A (ja) | 一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法 | |
JPH11272828A (ja) | 集積回路を有するチップカ―ド | |
JP2000148594A (ja) | Romデータの読み出しプロテクト回路 | |
JP2002073418A (ja) | マイクロプロセッサ | |
KR100327641B1 (ko) | 부정한기입으로부터메모리를보호하는메모리어드레스관리회로 | |
US20100312978A1 (en) | Computer system, information protection method, and program | |
US20020157085A1 (en) | Information processing apparatus | |
JP2011150457A (ja) | 情報処理装置およびメモリアクセス制御方法 | |
JP2003316649A (ja) | マイクロプロセッサ | |
JP4236808B2 (ja) | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 | |
JP2005157740A (ja) | マイクロコンピュータ | |
JP2003058522A (ja) | 内部ramモニタ装置および方法 | |
JPH01180656A (ja) | メモリ保護装置 | |
JPH11110210A (ja) | 拡張bios保護システム | |
JPS59128638A (ja) | メモリ保護方式 |