JP3520102B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP3520102B2
JP3520102B2 JP33499793A JP33499793A JP3520102B2 JP 3520102 B2 JP3520102 B2 JP 3520102B2 JP 33499793 A JP33499793 A JP 33499793A JP 33499793 A JP33499793 A JP 33499793A JP 3520102 B2 JP3520102 B2 JP 3520102B2
Authority
JP
Japan
Prior art keywords
address
program memory
built
program
instruction
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 - Lifetime
Application number
JP33499793A
Other languages
English (en)
Other versions
JPH07200413A (ja
Inventor
野 守 保 伴
上 達 雄 井
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 JP33499793A priority Critical patent/JP3520102B2/ja
Priority to EP94120690A priority patent/EP0661642B1/en
Priority to DE69432245T priority patent/DE69432245T2/de
Priority to US08/364,989 priority patent/US5680581A/en
Priority to KR1019940037894A priority patent/KR0138697B1/ko
Publication of JPH07200413A publication Critical patent/JPH07200413A/ja
Application granted granted Critical
Publication of JP3520102B2 publication Critical patent/JP3520102B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1433Protection 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 module or a part of a module

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)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関し、特に外部にプログラムメモリを増設することが可
能なものに関する。
【0002】
【従来の技術】近年、マイクロコンピュータにおいて外
部にプログラムメモリを拡張することが可能なものが多
く用いられている。また、マイクロコンピュータの内部
には、中央演算処理装置(以下CPUと略する)又はダ
イレクト・メモリ・アクセス・コントローラ(以下DM
ACと略する)等によってプログラムを書き込むことが
可能な内部データメモリを有するものが多い。
【0003】このような場合、外部プログラムメモリ又
は内部データメモリに書き込まれたプログラムによっ
て、内蔵されたプログラムメモリの内容を外部に読み出
すことが可能な状態にある。
【0004】
【発明が解決しようとする課題】しかし、内蔵プログラ
ムメモリの内容を、プログラムの開発者やマイクロコン
ピュータの製造者以外の第三者に知られないようにした
い場合が多々ある。
【0005】従来のマイクロコンピュータでは、このよ
うな要望に応えることができず、第三者に内蔵プログラ
ムメモリの内容を読み出されることを防止できなかっ
た。
【0006】例えば、外部にプログラムメモリを拡長し
たマイクロコンピュータの応用装置の場合、第三者は容
易に外部プログラムメモリを書き替えることが可能で、
この外部プログラムメモリにマイクロコンピュータ内蔵
のプログラムメモリの内容を外部に出力させるプログラ
ムを書き込み、マイクロコンピュータを動作させること
で、内蔵プログラムメモリの内容をプログラムの開発者
やマイクロコンピュータの製造者に無断で読み出すこと
ができる。
【0007】また、第三者により外部プログラムメモリ
に書き込まれた命令で、直接内蔵プログラムメモリの内
容を外部に出力させずに、マイクロコンピュータ内蔵の
データメモリに内蔵プログラムメモリの内容を読み出し
外部に出力させるプログラムを書き込みマイクロコンピ
ュータを動作させることで、内蔵プログラムメモリの内
容を無断で読み出すこともできる。
【0008】本発明は上記事情に鑑みてなされたもの
で、内蔵プログラムメモリの内容の第三者による読み出
しを禁止し得るマイクロコンピュータを提供することを
目的とする。
【0009】
【課題を解決するための手段】本発明のマイクロコンピ
ュータは、プログラム及び/又はデータを格納する内蔵
プログラムメモリと、プログラム及び/又はデータを格
納する外部プログラムメモリと、第1のアドレスを出力
し、前記内蔵プログラムメモリ及び前記外部プログラム
メモリのうちの1つから前記第1のアドレスにより示さ
れる位置に格納されている命令をフェッチし、フェッチ
した前記命令を実行し、前記命令が前記プログラム又は
データを読み出すことを指示する場合は第2のアドレス
を出力するCPUと、前記CPUから出力された前記第
1のアドレスを受信し、この第1のアドレスが前記内蔵
プログラムメモリのアドレス空間に存在するか否かを検
出し、前記CPUから出力された前記第2のアドレスを
受信し、この第2のアドレスは前記命令に従って読み出
される前記プログラム又はデータの格納位置を示すもの
であり、この第2のアドレスが前記内蔵プログラムメモ
リのアドレス空間に存在するか否かを検出し、前記第1
のアドレスが前記内蔵プログラムメモリのアドレス空間
に存在せず、かつ前記第2のアドレスが前記内蔵プログ
ラムメモリのアドレス空間に存在する場合は、前記第2
のアドレスを、前記内蔵プログラムメモリのアドレス空
間以外のアドレスに変更する内蔵プログラムメモリ読み
出し保護回路と、を備えることを特徴とする。また本発
明のマイクロコンピュータは、プログラム及び/又はデ
ータを格納する内蔵プログラムメモリと、プログラム及
び/又はデータを格納する外部プログラムメモリと、第
1のアドレスを出力し、前記内蔵プログラムメモリ及び
前記外部プログラムメモリのうちの1つから前記第1の
アドレスにより示される位置に格納されている命令をフ
ェッチし、フェッチした前記命令を実行し、前記命令が
前記プログラム又はデータを読み出すことを指示する場
合は第2のアドレスを出力するCPUと、前記CPUか
ら出力された前記第1のアドレスを受信し、この第1の
アドレスが前記内蔵プログラムメモリの特定のアドレス
空間に存在するか否かを検出し、前記CPUから出力さ
れた前記第2のアドレスを受信し、この第2のアドレス
は前記命令に従って読み出される前記プログラム又はデ
ータの格納位置を示すものであり、この第2のアドレス
が前記内蔵プログラムメモリの特定のアドレス空間に存
在するか否かを検出し、前記第1のアドレスが前記内蔵
プログラムメモリの特定のアドレス空間に存在せず、か
つ前記第2のアドレスが前記内蔵プログラムメモリの特
定のアドレス空間に存在する場合は、前記第2のアドレ
スを、前記内蔵プログラムメモリの特定のアドレス空間
以外のアドレスに変更する内蔵プログラムメモリ読み出
し保護回路と、を備えることを特徴とする。
【0010】
【作用】CPUから出力された第1、第2のアドレスを
内蔵プログラムメモリ読み出し保護回路が受信し、第1
のアドレスが内蔵プログラムメモリのアドレス空間ある
いは特定のアドレス空間に存在するか否かを検出し、第
2のアドレスが内蔵プログラムメモリのアドレス空間あ
るいは特定のアドレス空間に存在するか否かを検出し、
第1のアドレスが内蔵プログラムメモリのアドレス空間
あるいは特定のアドレス空間に存在せず、かつ第2のア
ドレスが内蔵プログラムメモリのアドレス空間あるいは
特定のアドレス空間に存在する場合は、第2のアドレス
を、内蔵プログラムメモリのアドレス空間あるいは特定
のアドレス空間以外のアドレスに変更することで、内蔵
プログラムメモリ以外のメモリである外部プログラムメ
モリに格納されたプログラムにより内蔵プログラムメモ
リの内容を読み出すことが防止される。
【0011】
【実施例】以下、本発明の一実施例について図面を参照
して説明する。
【0012】本実施例によるマイクロコンピュータは、
内蔵プログラムメモリの内容を読み出す命令が、内蔵プ
ログラムメモリのアドレス空間(全空間又は特定空間の
いずれでもよい。)に存在しない場合には、この命令に
よる内蔵プログラムメモリの読み出しを禁止する機能
(請求項1に記載の本発明に対応)やアドレスを変更す
る機能(請求項2に記載の本発明に対応)あるいはこの
命令の実行を禁止する機能(請求項3に記載の本発明に
対応)を持つ点に特徴がある。
【0013】図1に、本発明の一実施例によるマイクロ
コンピュータの構成を示す。このマイクロコンピュータ
10は、プログラムカウンタ11a、命令デコーダ11
b及び命令レジスタ11c、命令実行ユニット11d及
びアドレスレジスタ11eを有するCPU11と、内蔵
プログラムメモリ読み出し保護回路12と、プログラム
メモリ13と、データメモリ14とを内蔵し、マイクロ
コンピュータ10の外部にプログラムメモリ20を備え
ている。
【0014】CPU11内のプログラムカウンタ11a
からアドレスバス15を介して出力されたアドレスが内
蔵プログラムメモリ読み出し保護回路12に与えられ
る。内蔵プログラムメモリ読み出し保護回路12は、与
えられたアドレスが内蔵プログラムメモリ13のアドレ
ス空間に存在するか否かを判断する。
【0015】また、プログラムカウンタ11aから出力
されたアドレスは、内蔵プログラムメモリ13、内蔵デ
ータメモリ14又は外部プログラムメモリ20にも与え
られる。そして、このアドレスに格納されているプログ
ラム又はデータが命令として読み出されて、データバス
16を介して命令レジスタ11cに保持され、命令デコ
ーダ11bで解読される。
【0016】内蔵プログラムメモリ読み出し保護回路1
2は、命令レジスタ11cに保持された命令が命令実行
ユニット11dにより実行されるときに、前記アドレス
が内蔵プログラムメモリ13のアドレス空間にない場
合、内蔵プログラムメモリ13へ読み出し禁止信号を与
えて読み出しを禁止する(あるいはCPU11からの読
み出し信号を禁止しても良い)。即ち、内蔵プログラム
メモリ13に書かれていた命令のみによって、内蔵プロ
グラムメモリ13の内容の読み出しが可能となる。他の
内蔵データメモリ14又は外部プログラムメモリ20に
書かれた命令によっては、内蔵プログラムメモリ13の
内容を読み出すことはできない。これにより、第三者に
内蔵プログラムメモリ13の内容を知られることを防ぐ
ことができる。
【0017】図2に、内蔵プログラムメモリ読み出し保
護回路12の具体的な構成の一例を示す。この保護回路
12は、アドレスデコーダ12aと、記憶素子12b
と、ANDゲート12cとを有している。アドレスデコ
ーダ12aに、アドレスバス15から転送されてきたア
ドレスが入力され、このアドレスが内蔵プログラムメモ
リ13のアドレス空間内にあるか否かが検出され、検出
結果が命令フェッチ時に記憶素子12bに記憶される。
【0018】このアドレスが、内蔵プログラムメモリ1
3のアドレス空間内であった場合には、内蔵プログラム
メモリ13からの読み出しを許可する論理「0」のデー
タが記憶素子12bに記憶される。逆に、このアドレス
が内蔵プログラムメモリ13のアドレス空間内になかっ
たときは、内蔵プログラムメモリ13からの読み出しが
禁止される論理「1」のデータが記憶素子12bに記憶
される。
【0019】記憶素子12bの出力と前記アドレスデコ
ーダ12aの出力はANDゲート12cに入力され、A
NDゲート12cの出力すなわち読み出し禁止信号は内
蔵プログラムメモリ13に与えられる。読み出し禁止信
号が論理「0」のときは内蔵プログラムメモリ13から
の読み出しは許可され、論理「1」のときは内蔵プログ
ラムメモリ13からの読み出しは禁止される。
【0020】記憶素子12bに記憶されたデータが論理
「0」であるときは、ANDゲート12cの出力は論理
「0」となり、内蔵プログラムメモリ13からの読み出
しが行われる。
【0021】記憶素子12bに記憶されたデータが論理
「1」であるときは、次の命令フェッチまでにアドレス
レジスタ11e等からアドレスバス15を介して転送さ
れてきたアドレスが前記アドレスデコーダ12aにより
内蔵プログラムメモリ13のアドレス空間内であるか否
かが判定され、このアドレスが内蔵プログラムメモリ1
3のアドレス空間内である場合にのみANDゲート12
cの出力は論理「1」となり、内蔵プログラムメモリ1
3からの読み出しは禁止される。これにより、内蔵プロ
グラムメモリ13の内容を第三者が読み出すことを防ぐ
ことができる。
【0022】図3に、図2に示した実施例における各信
号の具体的なタイムチャートを示す。図中、CPU動作
として示された「F」はメモリから命令を読み出して命
令レジスタ11cにより保持する命令フェッチを示し、
「D」は命令を命令デコーダ11bにより解読する命令
デコードを示し、さらに「E」は命令を命令実行ユニッ
ト11dにより実行する命令実行を示すものとする。
【0023】まず、内蔵プログラムメモリ13に格納さ
れた命令による内蔵プログラムメモリ13の読み出しに
ついて図中101,102のタイミングを参照して説明
する。
【0024】図中101のタイミングで、CPU11は
次に実行する命令のフェッチのためにプログラムカウン
タ11aからアドレスバス15にアドレスを出力する。
このアドレスは内蔵プログラムメモリ13のアドレス空
間内に存在するので、内蔵プログラムメモリ読み出し保
護回路12のアドレスデコーダ12aによって論理
「0」のデータが記憶素子12bに記憶される。これに
より、ANDゲート12c出力は論理「0」となり、内
蔵プログラムメモリ13の内容の読み出しが許可された
状態になる。前記アドレスで指された内蔵プログラムメ
モリから読み出された命令がCPU11内の命令レジス
タ11cにより保持され、命令デコーダ11bにより解
読される。
【0025】命令デコーダ11bで解読された命令が、
図中102において命令実行ユニット11dにより実行
され、アドレスレジスタ11e等からアドレスバス15
を介して転送されてきたアドレスで指された内蔵プログ
ラムメモリ13の内容が、読み出し禁止信号が論理
「0」となっているので、データバス16に読み出され
る。
【0026】次に、内蔵プログラムメモリ13以外のメ
モリたとえば外部プログラムメモリ20に格納された命
令による内蔵プログラムメモリ13の読み出しについて
図中103,104のタイミングを参照して説明する。
【0027】図中103のタイミングで、CPU11は
次に実行する命令のフェッチのためにプログラムカウン
タ11aからアドレスバス15にアドレスを出力する。
このアドレスは内蔵プログラムメモリ13のアドレス空
間内に存在しないので、内蔵プログラムメモリ読み出し
保護回路12のアドレスデコーダ12aによって論理
「1」のデータが記憶素子12bに記憶される。
【0028】前記アドレスで指された外部プログラムメ
モリから読み出された命令が、CPU11内の命令レジ
スタ11cにより保持され、命令デコーダ11bにより
解読される。
【0029】命令デコーダ11bで解読された命令が、
図中104において命令実行ユニット11dにより実行
される。この命令で内蔵プログラムメモリ13の内容を
読み出すためにCPU11はアドレスレジスタ11e等
からアドレスバス15に内蔵プログラムメモリ13のア
ドレス空間内に存在するアドレスを出力する。このアド
レスも前記アドレスデコーダ12aによってデコーダさ
れ、前記アドレスデコーダ12aは論理「1」を出力す
る。これにより、ANDゲート12c出力は論理「1」
となり、内蔵プログラムメモリ13の内容の読み出しが
禁止された状態になる。したがって、このタイミングで
は内蔵プログラムメモリ13の内容はデータバス16に
は読み出されない。
【0030】このように、本実施例によれば内蔵プログ
ラムメモリのアドレス空間外のメモリに格納されている
命令を用いて内蔵プログラムメモリの内容を読み出すこ
とを禁止することができ、第三者に内蔵プログラムの内
容が知られるのを防ぐことができる。
【0031】上述した実施例は一例であり、本発明を限
定するものではない。例えば、図2に示された内蔵プロ
グラムメモリ読み出し保護回路12の構成は一例であ
り、これには限定されない。この保護回路12は、命令
をフェッチするアドレスが内蔵プログラムメモリ13の
アドレス空間外にあるときは内蔵プログラムメモリ13
の内容の読み出しを禁止し得るものであればよい。例え
ば、保護回路12にアドレスデコーダ12aを内蔵させ
ず、内蔵プログラムメモリ13のアドレス空間をデコー
ドしチップセレクト信号を作るアドレスデコーダを持つ
内蔵プログラムメモリ13等からアドレスデコード信号
を得ても良い(図4,図5に構成例を示す)。
【0032】図6に、本発明の他の実施例によるマイク
ロコンピュータの構成を示す。なお、この実施例の場合
の内蔵プログラムメモリ読み出し保護回路12は、前記
請求項1の実施例で説明した図2と同様である。
【0033】このマイクロコンピュータ10は、プログ
ラムカウンタ11a、命令デコーダ11b、命令レジス
タ11c、命令ユニット11d及びアドレスレジスタ1
1eを有するCPU11と、内蔵プログラムメモリ読み
出し保護回路12と、プログラムメモリ13と、データ
メモリ14とを内蔵し、マイクロコンピュータ10の外
部にプログラムメモリ20を備えている。
【0034】プログラムカウンタ11aまたはアドレス
レジスタ11eからアドレスバス15を介してCPU1
1から出力されたアドレスが、内蔵プログラムメモリ読
み出し保護回路12、内蔵プログラムもメモリ13、内
蔵データメモリ14及び外部プログラムメモリ20に与
えられる。
【0035】内蔵プログラムメモリ読み出し保護回路1
2は、プログラムカウンタ11aからアドレスバス15
を介して与えられたアドレスが内蔵プログラムメモリ1
3のアドレス空間に存在するか否かを検出する。存在す
る場合は内蔵プログラムメモリ読み出し保護回路12の
記憶素子12b出力は論理「0」となり、存在しない場
合は論理「1」となる。
【0036】プログラムカウンタ11aから出力された
アドレスで指されたメモリから読み出された命令は、デ
ータバス16を介して命令レジスタ11cに保持され
る。命令レジスタ11cに保持された命令は命令デコー
ダ11bで解読され、命令実行ユニット11dによって
実行される。この命令の実行時、内蔵プログラムメモリ
読み出し保護回路12は、アドレスレジスタ11eから
アドレスバス15を介して与えられたアドレスが内蔵プ
ログラムメモリ13のアドレス空間に存在するか否かを
判断し、存在する場合でかつ記憶素子12b出力が論理
「1」のとき、ANDゲート12c出力すなわち読み出
し禁止信号は論理「1」となる。内蔵プログラムメモリ
読み出し保護回路12からの読み出し禁止信号は、論理
「1」のとき命令実行ユニット11dあるいは命令デコ
ーダ11bに対し、実行中の命令の中止を指示し、この
命令による内蔵プログラムメモリ13の内容の読出しを
禁止する。
【0037】図7に、本発明のさらに他の実施例による
マイクロコンピュータの構成を示す。このマイクロコン
ピュータ10は、プログラムカウンタ11a、命令デコ
ーダ11b、命令レジスタ11c、命令実行ユニット1
1d及びアドレスレジスタ11eを有するCPU11
と、内蔵プログラムメモリ読み出し保護回路12と、プ
ログラムメモリ13と、データメモリ14とを内蔵し、
マイクロコンピュータ10の外部にプログラムメモリ2
0を備えている。
【0038】プログラムカウンタ11aまたはアドレス
レジスタ11eからアドレスバス15aを介してCPU
11から出力されたアドレスが、内蔵プログラムメモリ
読み出し保護回路12に与えられる。図8に内蔵プログ
ラムメモリ読み出し保護回路12の回路構成の一例を示
す。この保護回路12は、アドレスデコーダ12aと、
記憶素子12bと、ANDゲート12cと、アドレス変
更回路12dとを有している。
【0039】前述の実施例1,3と同様、プログラムカ
ウンタ11aから与えられたアドレスが、内蔵プログラ
ムメモリ13のアドレス空間に存在する場合は記憶素子
12bに論理「0」のデータが記憶され、存在しない場
合は論理「1」のデータが記憶される。そして、アドレ
スレジスタ11eから与えられたアドレスが、内蔵プロ
グラムメモリのアドレス空間に存在しない場合はAND
ゲート12c出力は論理「0」となり、存在する場合で
かつ記憶素子12b出力が論理「1」のときはANDゲ
ート12c出力は論理「1」となる。
【0040】アドレス変更回路12dは、ANDゲート
12c出力が論理「0」のとき、アドレスバス15bに
アドレスバス15aと同一の値を出力する(すなわちア
ドレス変更を行わない)。ANDゲート12c出力が論
理「1」のときは、アドレスバス15bに内蔵プログラ
ムメモリ13のアドレス空間に存在しないアドレスを出
力する(すなわちアドレス変更を行う)。
【0041】アドレスバス15bは、内蔵プログラムメ
モリ13、内蔵データメモリ14及び外部プログラムメ
モリ20に接続されており、アドレス変更が行われたと
きは内蔵プログラムメモリ13のアドレス空間に存在し
ないアドレスが出力されているので、内蔵プログラムメ
モリ13の内容は読み出すことができない。
【0042】
【発明の効果】以上説明したように、本発明のマイクロ
コンピュータは、プログラムカウンタから出力されたア
ドレスが内蔵プログラムメモリのアドレス空間に存在し
ない場合は内蔵プログラムの読み出しが禁止されるた
め、第三者により内蔵プログラムの内容が読み出される
ことが防止される。
【図面の簡単な説明】
【図1】本発明の一実施例によるマイクロコンピュータ
の構成を示したブロック図。
【図2】同マイクロコンピュータの有する内蔵プログラ
ムメモリ読み出し保護回路の構成の一例を示したブロッ
ク図。
【図3】同マイクロコンピュータの各信号の波形を示し
たタイムチャート。
【図4】本発明の他の実施例によるマイクロコンピュー
タの構成を示したブロック図。
【図5】同マイクロコンピュータの有する内蔵プログラ
ムメモリ読み出し保護回路の構成の一例を示したブロッ
ク図。
【図6】本発明のさらに他の実施例によるマイクロコン
ピュータの構成を示したブロック図。
【図7】本発明のさらに他の実施例によるマイクロコン
ピュータの構成を示したブロック図。
【図8】同マイクロコンピュータの有する内蔵プログラ
ムメモリ読み出し保護回路の構成の一例を示したブロッ
ク図。
【符号の説明】
10 マイクロコンピュータ 11 CPU 11a プログラムカウンタ 11b 命令デコーダ 11c 命令レジスタ 11d 命令実行ユニット 11e アドレスレジスタ 12 内蔵プログラムメモリ読み出し保護回路 12a アドレスデコーダ 12b 記憶素子 12c ANDゲート 12d アドレス変更回路 13 内蔵プログラムメモリ 13a アドレスデコーダ 13b メモリセル等 14 内蔵データメモリ 15,15a,15b アドレスバス 16 データバス 20 外部プログラムメモリ
フロントページの続き (56)参考文献 特開 平5−266225(JP,A) 特開 平2−42528(JP,A) 特開 昭59−63097(JP,A) 特開 平2−156357(JP,A) 特開 昭63−310043(JP,A) 特開 昭55−42312(JP,A) 特開 平5−303491(JP,A) 特開 昭58−141500(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/14 G06F 9/32 G06F 15/78

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】マイクロコンピュータにおいて、 プログラム及び/又はデータを格納する内蔵プログラム
    メモリと、 プログラム及び/又はデータを格納する外部プログラム
    メモリと、 第1のアドレスを出力し、前記内蔵プログラムメモリ及
    び前記外部プログラムメモリのうちの1つから前記第1
    のアドレスにより示される位置に格納されている命令を
    フェッチし、フェッチした前記命令を実行し、前記命令
    が前記プログラム又はデータを読み出すことを指示する
    場合は第2のアドレスを出力するCPUと、 前記CPUから出力された前記第1のアドレスを受信
    し、この第1のアドレスが前記内蔵プログラムメモリの
    アドレス空間に存在するか否かを検出し、前記CPUか
    ら出力された前記第2のアドレスを受信し、この第2の
    アドレスは前記命令に従って読み出される前記プログラ
    ム又はデータの格納位置を示すものであり、この第2の
    アドレスが前記内蔵プログラムメモリのアドレス空間に
    存在するか否かを検出し、前記第1のアドレスが前記内
    蔵プログラムメモリのアドレス空間に存在せず、かつ前
    記第2のアドレスが前記内蔵プログラムメモリのアドレ
    ス空間に存在する場合は、前記第2のアドレスを、前記
    内蔵プログラムメモリのアドレス空間以外のアドレスに
    変更する内蔵プログラムメモリ読み出し保護回路と、 を備えることを特徴とするマイクロコンピュータ。
  2. 【請求項2】前記内蔵プログラムメモリ読み出し保護回
    路は、前記CPUが前記命令をフェッチするタイミング
    に同期して、前記第1のアドレスが前記内蔵プログラム
    メモリのアドレス空間に存在するか否かを検出すること
    を特徴とする請求項1記載のマイクロコンピュータ。
  3. 【請求項3】前記内蔵プログラムメモリ読み出し保護回
    路は、 前記第1及び第2のアドレスを受信し、前記第1のアド
    レスが前記内蔵プログラムメモリのアドレス空間に存在
    するか否かを検出することにより第1の識別結果を出力
    し、前記第2のアドレスが前記内蔵プログラムメモリの
    アドレス空間に存在するか否かを検出することにより第
    2の識別結果を出力するアドレスデコーダと、 前記CPUから出力された命令フェッチ信号に同期し
    て、前記アドレスデコーダから出力された前記第1の識
    別結果を保持して出力する記憶素子と、 前記記憶素子からの出力と、前記アドレスデコーダから
    の前記第2の識別結果とを受信して論理演算を行い、前
    記第1のアドレスが前記内蔵プログラムメモリのアドレ
    ス空間に存在せず、かつ前記第2のアドレスが前記内蔵
    プログラムメモリのアドレス空間に存在する場合、読み
    出し禁止信号を出力する論理回路素子と、 前記論理回路素子が前記読み出し禁止信号を出力する
    と、前記第2のアドレスを、前記内蔵プログラムメモリ
    のアドレス空間以外のアドレスに変更するアドレス変更
    回路と、 を備えることを特徴とする請求項1又は2記載のマイク
    ロコンピュータ。
  4. 【請求項4】マイクロコンピュータにおいて、 プログラム及び/又はデータを格納する内蔵プログラム
    メモリと、 プログラム及び/又はデータを格納する外部プログラム
    メモリと、 第1のアドレスを出力し、前記内蔵プログラムメモリ及
    び前記外部プログラムメモリのうちの1つから前記第1
    のアドレスにより示される位置に格納されている命令を
    フェッチし、フェッチした前記命令を実行し、前記命令
    が前記プログラム又はデータを読み出すことを指示する
    場合は第2のアドレスを出力するCPUと、 前記CPUから出力された前記第1のアドレスを受信
    し、この第1のアドレスが前記内蔵プログラムメモリの
    特定のアドレス空間に存在するか否かを検出し、前記C
    PUから出力された前記第2のアドレスを受信し、この
    第2のアドレスは前記命令に従って読み出される前記プ
    ログラム又はデータの格納位置を示すものであり、この
    第2のアドレスが前記内蔵プログラムメモリの特定のア
    ドレス空間に存在するか否かを検出し、前記第1のアド
    レスが前記内蔵プログラムメモリの特定のアドレス空間
    に存在せず、かつ前記第2のアドレスが前記内蔵プログ
    ラムメモリの特定のアドレス空間に存在する場合は、前
    記第2のアドレスを、前記内蔵プログラムメモリの特定
    のアドレス空間以外のアドレスに変更する内蔵プログラ
    ムメモリ読み出し保護回路と、 を備えることを特徴とするマイクロコンピュータ。
  5. 【請求項5】前記内蔵プログラムメモリ読み出し保護回
    路は、前記CPUが前記命令をフェッチするタイミング
    に同期して、前記第1のアドレスが前記内蔵プログラム
    メモリの特定のアドレス空間に存在するか否かを検出す
    ることを特徴とする請求項4記載のマイクロコンピュー
    タ。
  6. 【請求項6】前記内蔵プログラムメモリ読み出し保護回
    路は、 前記第1及び第2のアドレスを受信し、前記第1のアド
    レスが前記内蔵プログラムメモリの特定のアドレス空間
    に存在するか否かを検出することにより第1の識別結果
    を出力し、前記第2のアドレスが前記内蔵プログラムメ
    モリの特定のアドレス空間に存在するか否かを検出する
    ことにより第2の識別結果を出力するアドレスデコーダ
    と、 前記CPUから出力された命令フェッチ信号に同期し
    て、前記アドレスデコーダから出力された前記第1の識
    別結果を保持して出力する記憶素子と、 前記記憶素子からの出力と、前記アドレスデコーダから
    の前記第2の識別結果とを受信して論理演算を行い、前
    記第1のアドレスが前記内蔵プログラムメモリの特定の
    アドレス空間に存在せず、かつ前記第2のアドレスが前
    記内蔵プログラムメモリの特定のアドレス空間に存在す
    る場合、読み出し禁止信号を出力する論理回路素子と、 前記論理回路素子が前記読み出し禁止信号を出力する
    と、前記第2のアドレスを、前記内蔵プログラムメモリ
    の特定のアドレス空間以外のアドレスに変更するアドレ
    ス変更回路と、 を備えることを特徴とする請求項4又は5記載のマイク
    ロコンピュータ。
JP33499793A 1993-12-28 1993-12-28 マイクロコンピュータ Expired - Lifetime JP3520102B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP33499793A JP3520102B2 (ja) 1993-12-28 1993-12-28 マイクロコンピュータ
EP94120690A EP0661642B1 (en) 1993-12-28 1994-12-27 Microcomputer with memory read protection
DE69432245T DE69432245T2 (de) 1993-12-28 1994-12-27 Mikrorechner mit Speicherleseschutz
US08/364,989 US5680581A (en) 1993-12-28 1994-12-28 Microcomputer having a read protection circuit to secure the contents of an internal memory
KR1019940037894A KR0138697B1 (ko) 1993-12-28 1994-12-28 마이크로컴퓨터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33499793A JP3520102B2 (ja) 1993-12-28 1993-12-28 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH07200413A JPH07200413A (ja) 1995-08-04
JP3520102B2 true JP3520102B2 (ja) 2004-04-19

Family

ID=18283583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33499793A Expired - Lifetime JP3520102B2 (ja) 1993-12-28 1993-12-28 マイクロコンピュータ

Country Status (5)

Country Link
US (1) US5680581A (ja)
EP (1) EP0661642B1 (ja)
JP (1) JP3520102B2 (ja)
KR (1) KR0138697B1 (ja)
DE (1) DE69432245T2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305635A (ja) * 1995-05-01 1996-11-22 Nec Corp ワンチップcpu
JPH09146914A (ja) * 1995-09-06 1997-06-06 Seiko Epson Corp シングルチップマイクロコンピュータ及びそれを内蔵した電子機器
JPH09114743A (ja) * 1995-10-16 1997-05-02 Nec Corp シングルチップ・マイクロコンピュータ
US5860161A (en) * 1996-08-14 1999-01-12 Advanced Micro Devices, Inc. Microcontroller configured to indicate internal memory accesses externally
US5903912A (en) * 1996-08-14 1999-05-11 Advanced Micro Devices, Inc. Microcontroller configured to convey data corresponding to internal memory accesses externally
EP0898747B1 (en) * 1996-11-15 2008-01-09 Nxp B.V. A protection method against eeprom-directed intrusion into a mobile communication device that has a processor, and a device having such protection mechanism
JP3588529B2 (ja) * 1997-01-28 2004-11-10 株式会社東芝 半導体装置およびその応用システム装置
US5862148A (en) * 1997-02-11 1999-01-19 Advanced Micro Devices, Inc. Microcontroller with improved debug capability for internal memory
JPH10228421A (ja) * 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
WO1999014881A2 (en) * 1997-09-16 1999-03-25 Information Resource Engineering, Inc. Cryptographic co-processor
US6049876A (en) * 1998-02-09 2000-04-11 Motorola, Inc. Data processing system and method which detect unauthorized memory accesses
FR2788353B1 (fr) * 1999-01-11 2001-02-23 St Microelectronics Sa Microprocesseur avec circuits de protection pour securiser l'acces a ses registres
JP2002014737A (ja) * 2000-06-29 2002-01-18 Fujitsu Ltd 処理装置、集積回路、および集積回路パッケージ
FR2814557B1 (fr) * 2000-09-27 2002-12-27 Gemplus Card Int Protection contre l'exploitation abusive d'une instruction dans une memoire
KR100396791B1 (ko) * 2000-10-18 2003-09-02 주식회사 하이닉스반도체 프로그램 메모리의 액세스장치
FR2823364B1 (fr) * 2001-04-05 2003-06-27 St Microelectronics Sa Dispositif et procede de protection partielle en lecture d'une memoire non volatile
DE10126281A1 (de) * 2001-05-29 2002-12-12 Infineon Technologies Ag Programmgesteuerte Einheit
KR100468615B1 (ko) * 2002-04-02 2005-01-31 매그나칩 반도체 유한회사 내부 프로그램 코드 보호 장치
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
FR2857535A1 (fr) * 2003-07-09 2005-01-14 Atmel Corp Procede et systeme pour brouiller le contenu d'une cellule dans un circuit integre.
US7281103B2 (en) * 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory
US7574576B2 (en) * 2006-12-22 2009-08-11 Spansion Llc Semiconductor device and method of controlling the same
US7895404B2 (en) 2008-02-14 2011-02-22 Atmel Rousset S.A.S. Access rights on a memory map
WO2014028663A2 (en) 2012-08-15 2014-02-20 Synopsys, Inc. Protection scheme for embedded code
JP2021140555A (ja) * 2020-03-06 2021-09-16 本田技研工業株式会社 半導体装置とその制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523271A (en) * 1982-06-22 1985-06-11 Levien Raphael L Software protection method and apparatus
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
US4581702A (en) * 1983-01-10 1986-04-08 International Business Machines Corporation Critical system protection
JPS6068441A (ja) * 1983-09-22 1985-04-19 Fujitsu Ltd ワンチツプ・マイクロ・コンピユ−タ
US5347636A (en) * 1985-11-08 1994-09-13 Nec Corporation Data processor which efficiently accesses main memory and input/output devices
US5155829A (en) * 1986-01-21 1992-10-13 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
JPS62204345A (ja) * 1986-03-05 1987-09-09 Oki Electric Ind Co Ltd マイクロコンピユ−タ
US5134700A (en) * 1987-09-18 1992-07-28 General Instrument Corporation Microcomputer with internal ram security during external program mode
FR2621409A1 (fr) * 1987-10-02 1989-04-07 Thomson Semiconducteurs Dispositif de protection des zones memoires d'un systeme electronique a microprocesseur
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US5251304A (en) * 1990-09-28 1993-10-05 Motorola, Inc. Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory
DE69231077T2 (de) * 1991-03-06 2001-02-01 Nec Corp., Tokio/Tokyo Einchipmikrorechner mit Schutzfuntion für den Inhalt eines internen ROM's
US5557743A (en) * 1994-04-05 1996-09-17 Motorola, Inc. Protection circuit for a microprocessor

Also Published As

Publication number Publication date
EP0661642A2 (en) 1995-07-05
KR950020094A (ko) 1995-07-24
DE69432245D1 (de) 2003-04-17
EP0661642A3 (en) 1998-04-15
EP0661642B1 (en) 2003-03-12
US5680581A (en) 1997-10-21
JPH07200413A (ja) 1995-08-04
KR0138697B1 (ko) 1998-06-15
DE69432245T2 (de) 2004-01-22

Similar Documents

Publication Publication Date Title
JP3520102B2 (ja) マイクロコンピュータ
JP3710671B2 (ja) 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
JPH10228421A (ja) メモリアクセス制御回路
JPH04262438A (ja) プログラム可能な制御対象セキュリティ機能を有するメモリを具備したデータ・プロセッサ
EP0458614B1 (en) Memory device with standby function
JP3226055B2 (ja) 情報処理装置
US20050257016A1 (en) Digital signal controller secure memory partitioning
US7139919B2 (en) Information processing apparatus with central processing unit and main memory having power saving mode, and power saving controlling method
KR100505106B1 (ko) 강화된 보안 기능을 갖춘 스마트 카드
US4649476A (en) Microcomputer having an internal address mapper
US20020026567A1 (en) Processor capable of enabling/disabling memory access
KR100321745B1 (ko) 외부메모리액세스를위한마이크로컨트롤러유닛
JP2004145605A (ja) プロセッサ
US7020813B2 (en) On chip debugging method of microcontrollers
JPH09114743A (ja) シングルチップ・マイクロコンピュータ
JP3507193B2 (ja) ロード・ストア命令処理装置
JPH08185360A (ja) 内蔵rom読み出し禁止装置
JP2007052481A (ja) Icカード用lsi
JP2721610B2 (ja) プログラマブルコントローラ
JP2721611B2 (ja) プログラマブルコントローラ
JPS62236034A (ja) マイクロコンピユ−タ
JP2002157236A (ja) 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法
JPS58109950A (ja) ヒドンメモリアクセス制御回路
JPH04267448A (ja) マイクロコンピュータ
JPH08185358A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110206

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 10

EXPY Cancellation because of completion of term