JPH07182304A - マイクロコンピュータ及びその製造方法 - Google Patents
マイクロコンピュータ及びその製造方法Info
- Publication number
- JPH07182304A JPH07182304A JP5327108A JP32710893A JPH07182304A JP H07182304 A JPH07182304 A JP H07182304A JP 5327108 A JP5327108 A JP 5327108A JP 32710893 A JP32710893 A JP 32710893A JP H07182304 A JPH07182304 A JP H07182304A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory
- program
- microcomputer
- map
- 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
Abstract
(57)【要約】
【目的】メモリに格納されているプログラムの内容が読
み出しても分らないようにしてプログラムの保護を図っ
たマイクロコンピュータを提供する。 【構成】本発明のマイクロコンピュータは、プログラム
のうち少くとも命令部分を、公表されている所定のアセ
ンブラで発生する命令コードに1:1に対応するように
所定の規則に従って配置を入れ換えた命令マップで機械
語に変換して記憶したメモリ10と、該メモリ10のシ
ャッフルされた命令を解読するインストラクションデコ
ーダ13とを備えている。メモリ10のシャッフルデー
タの実現は例えば、マスクROMにおいてなされる。
み出しても分らないようにしてプログラムの保護を図っ
たマイクロコンピュータを提供する。 【構成】本発明のマイクロコンピュータは、プログラム
のうち少くとも命令部分を、公表されている所定のアセ
ンブラで発生する命令コードに1:1に対応するように
所定の規則に従って配置を入れ換えた命令マップで機械
語に変換して記憶したメモリ10と、該メモリ10のシ
ャッフルされた命令を解読するインストラクションデコ
ーダ13とを備えている。メモリ10のシャッフルデー
タの実現は例えば、マスクROMにおいてなされる。
Description
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関するものである。
関するものである。
【0002】
【従来の技術】マイクロコンピュータを駆動するための
プログラムは一般にROMに格納されているが、そのR
OMに格納する際には、アセンブリ語等で作成したプロ
グラムを、ただ1つの機械語に翻訳してからメモリに書
き込むのが普通である。そして、翻訳は所定のコードマ
ップに従って行なわれる。
プログラムは一般にROMに格納されているが、そのR
OMに格納する際には、アセンブリ語等で作成したプロ
グラムを、ただ1つの機械語に翻訳してからメモリに書
き込むのが普通である。そして、翻訳は所定のコードマ
ップに従って行なわれる。
【0003】
【発明が解決しようとする課題】ところで、メモリに格
納されているプログラムは、アセンブラが公表されてい
るので、メモリから読み出しさえすれば容易に分ってし
まう。ワンチップマイクロコンピュータでも、プログラ
ムは内部のROMに格納されているが、製品の良否判定
のテストのためにROMの内容が外部へ読み出されなけ
ればならないようになっているので、やはり外へ取り出
してそのプログラムを知ることが可能となる。
納されているプログラムは、アセンブラが公表されてい
るので、メモリから読み出しさえすれば容易に分ってし
まう。ワンチップマイクロコンピュータでも、プログラ
ムは内部のROMに格納されているが、製品の良否判定
のテストのためにROMの内容が外部へ読み出されなけ
ればならないようになっているので、やはり外へ取り出
してそのプログラムを知ることが可能となる。
【0004】本発明はこのような点に鑑みなされたもの
であって、メモリに格納されているプログラムの内容が
読み出しても分らないようにしてプログラムの保護を図
ったマイクロコンピュータを提供することを目的とす
る。
であって、メモリに格納されているプログラムの内容が
読み出しても分らないようにしてプログラムの保護を図
ったマイクロコンピュータを提供することを目的とす
る。
【0005】
【課題を解決するための手段】上記の目的を達成するた
め本発明のマイクロコンピュータは、プログラムのうち
少くとも命令部分を、公表されている所定のアセンブラ
で発生する命令コードに1:1に対応するように所定の
規則に従って配置を入れ換えた命令マップで機械語に変
換して記憶したメモリと;前記メモリの命令を解読する
インストラクションデコーダとを備えている。このよう
なメモリ内の命令はマスクROMにおいて形成される。
め本発明のマイクロコンピュータは、プログラムのうち
少くとも命令部分を、公表されている所定のアセンブラ
で発生する命令コードに1:1に対応するように所定の
規則に従って配置を入れ換えた命令マップで機械語に変
換して記憶したメモリと;前記メモリの命令を解読する
インストラクションデコーダとを備えている。このよう
なメモリ内の命令はマスクROMにおいて形成される。
【0006】
【作用】このような構成によると、単にメモリに記憶さ
れているプログラムを外部へ読み出しても、その内容は
分からない。即ち、命令とデータが読み出されても、命
令自体が解読できないと、全体として、そのプログラム
の内容は分からない。
れているプログラムを外部へ読み出しても、その内容は
分からない。即ち、命令とデータが読み出されても、命
令自体が解読できないと、全体として、そのプログラム
の内容は分からない。
【0007】
【実施例】以下図面に従って本発明の実施例を説明す
る。図1において、(1)はプログラマーによって作成
されたアセンブリ語で書かれたプログラムである。この
アセンブリ語のプログラムは従来の方法であれば、図2
(イ)のコードマップに従って、図1の(2)のように
そのまま翻訳されるが、本実施例では(2’)のように
命令マップがシャッフルされて翻訳される。
る。図1において、(1)はプログラマーによって作成
されたアセンブリ語で書かれたプログラムである。この
アセンブリ語のプログラムは従来の方法であれば、図2
(イ)のコードマップに従って、図1の(2)のように
そのまま翻訳されるが、本実施例では(2’)のように
命令マップがシャッフルされて翻訳される。
【0008】例えば、(1)のプログラムの命令の1つ
がAレジスタに01を加えなさいという命令の場合、A
レジスタに定数を加えるという語は図2(イ)のマップ
のMに示す部分の「5C」であるが、この「5C」で
は、「加える」という命令であることが分かってしまう
ので、図2(ロ)のマップのM’に示す部分の「28」
をとって「28」と翻訳する。
がAレジスタに01を加えなさいという命令の場合、A
レジスタに定数を加えるという語は図2(イ)のマップ
のMに示す部分の「5C」であるが、この「5C」で
は、「加える」という命令であることが分かってしまう
ので、図2(ロ)のマップのM’に示す部分の「28」
をとって「28」と翻訳する。
【0009】この「28」は「加えなさい」という意味
で翻訳したものであるが、例えば本来は「比較しなさ
い」という意味であるとする。順次このように通常の翻
訳とは異なる形で機械語に翻訳していく。ここで、図2
の(イ)は公表されているアセンブラで発生する命令コ
ードマップであり、図2の(ロ)は前記命令コードに
1:1で対応するが、所定の規則に従って配置が入れ換
えられた命令コードマップである。本明細書では、図2
の(ロ)の命令コードマップで機械語に翻訳するように
命令マップを入れかえることをシャッフルという。
で翻訳したものであるが、例えば本来は「比較しなさ
い」という意味であるとする。順次このように通常の翻
訳とは異なる形で機械語に翻訳していく。ここで、図2
の(イ)は公表されているアセンブラで発生する命令コ
ードマップであり、図2の(ロ)は前記命令コードに
1:1で対応するが、所定の規則に従って配置が入れ換
えられた命令コードマップである。本明細書では、図2
の(ロ)の命令コードマップで機械語に翻訳するように
命令マップを入れかえることをシャッフルという。
【0010】図1に戻って、(3)は従来の方法でのR
OMへの書込みを示し、(4)はそれをインストラクシ
ョンデコーダで解読し、(5)では、CPUにその解読
結果が与えられる様子を示している。(3’)は本実施
例による方法でのROMへの書込みを示し、(4’)は
それをインストラクションデコーダで解読し、(5’)
はCPUに解読結果が与えられる様子を示している。最
終的に、CPUに与えられる命令は(5)と(5’)で
同一となる。尚、(4’)でのインストラクションデコ
ーダは(1)から(2’)への翻訳時の規則に合致する
ように構成されている。
OMへの書込みを示し、(4)はそれをインストラクシ
ョンデコーダで解読し、(5)では、CPUにその解読
結果が与えられる様子を示している。(3’)は本実施
例による方法でのROMへの書込みを示し、(4’)は
それをインストラクションデコーダで解読し、(5’)
はCPUに解読結果が与えられる様子を示している。最
終的に、CPUに与えられる命令は(5)と(5’)で
同一となる。尚、(4’)でのインストラクションデコ
ーダは(1)から(2’)への翻訳時の規則に合致する
ように構成されている。
【0011】本実施例ではシャッフルによる変換を行な
うだけであるので、アセンブラはデータ変換だけの簡単
なものとなる。尚、図2のように任意に命令マップをシ
ャッフルする以外に公表されているアセンブラで発生す
る各命令コードに対し一律に所定の数値を加える、又は
引いてもシャッフル用命令コードマップが得られる。
うだけであるので、アセンブラはデータ変換だけの簡単
なものとなる。尚、図2のように任意に命令マップをシ
ャッフルする以外に公表されているアセンブラで発生す
る各命令コードに対し一律に所定の数値を加える、又は
引いてもシャッフル用命令コードマップが得られる。
【0012】本発明のマイクロコンピュータは図3に示
すようにプログラム内蔵のROM10とCPU11が別
のチップとなっているタイプのものと、図4や図5に示
すようにROM(E2PROM)とCPUが1つのチッ
プ12に形成されたもの(ワンチップマイクロコンピュ
ータ)の双方に適用できる。図3ではインストラクショ
ンデコーダ13はCPU側チップに存在する。
すようにプログラム内蔵のROM10とCPU11が別
のチップとなっているタイプのものと、図4や図5に示
すようにROM(E2PROM)とCPUが1つのチッ
プ12に形成されたもの(ワンチップマイクロコンピュ
ータ)の双方に適用できる。図3ではインストラクショ
ンデコーダ13はCPU側チップに存在する。
【0013】尚、図1の(3’)に示すROMへのシャ
ッフルされたプログラムデータの書き込みは、図4の場
合、いわゆるマスクROM技術によって、ROM10と
同じレイヤー(layer)に作り込むことができる。
また、図5のようにプログラム格納用メモリをE2PR
OM10aとした場合には、プログラム書込みは任意の
時点(例えばマイクロコンピュータにおけるテスト工
程)で行なうことができる。図5において、14はE2
PROM10aに暗号化プログラムを書き込むライター
であり、15はそれを制御駆動するパーソナルコンピュ
ータである。E2PROMの代わりにフラッシュメモリ
やFRAM(強誘電体メモリ)であってもよい。
ッフルされたプログラムデータの書き込みは、図4の場
合、いわゆるマスクROM技術によって、ROM10と
同じレイヤー(layer)に作り込むことができる。
また、図5のようにプログラム格納用メモリをE2PR
OM10aとした場合には、プログラム書込みは任意の
時点(例えばマイクロコンピュータにおけるテスト工
程)で行なうことができる。図5において、14はE2
PROM10aに暗号化プログラムを書き込むライター
であり、15はそれを制御駆動するパーソナルコンピュ
ータである。E2PROMの代わりにフラッシュメモリ
やFRAM(強誘電体メモリ)であってもよい。
【0014】
【発明の効果】以上説明したように本発明によれば、プ
ログラムが公表アセンブラとは異なる配列で変換されて
メモリに記憶されているので、これをメモリから外部へ
読み出しても、それが何を表わしているか分らない。よ
って、プログラムを不正に使用されることがない。ま
た、プログラムの命令コードについて上記の変換を行な
うことによって、その変換がなされていない他のデータ
(命令以外のデータ)が分っても、全体としてはプログ
ラムは分らないので、必要最小限の暗号化で済ますこと
もできる。本発明ではデータコードの配置換えによるシ
ャッフルを行なうだけであるので、アセンブラはデータ
変換だけの簡単なものとなる。
ログラムが公表アセンブラとは異なる配列で変換されて
メモリに記憶されているので、これをメモリから外部へ
読み出しても、それが何を表わしているか分らない。よ
って、プログラムを不正に使用されることがない。ま
た、プログラムの命令コードについて上記の変換を行な
うことによって、その変換がなされていない他のデータ
(命令以外のデータ)が分っても、全体としてはプログ
ラムは分らないので、必要最小限の暗号化で済ますこと
もできる。本発明ではデータコードの配置換えによるシ
ャッフルを行なうだけであるので、アセンブラはデータ
変換だけの簡単なものとなる。
【図1】 本発明の実施例を従来方法と対比して動作手
順を示す図。
順を示す図。
【図2】 命令マップを示す図。
【図3】 本発明を適用するマイクロコンピュータの構
成を示す図。
成を示す図。
【図4】 本発明を適用する他のマイクロコンピュータ
の構成を示す図。
の構成を示す図。
【図5】 本発明を適用する更に他のマイクロコンピュ
ータの構成を示す図。
ータの構成を示す図。
10 ROM 10a E2PROM 11 CPU 13 インストラクションデコーダ
Claims (2)
- 【請求項1】プログラムのうち少くとも命令部分を、所
定のアセンブラで発生する命令コードに1:1に対応す
るように所定の規則に従って配置を入れ換えた命令マッ
プで機械語に変換して記憶したメモリと、 前記メモリの命令を解読するインストラクションデコー
ダと、を備えるマイクロコンピュータ。 - 【請求項2】マスクROMにおいて、ROMのプログラ
ムの命令部分を、所定のアセンブラで発生する命令コー
ドに1:1に対応するように所定の規則に従って配置を
入れ換えた命令マップで機械語に変換して形成すること
を特徴とするマイクロコンピュータの製造方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5327108A JPH07182304A (ja) | 1993-12-24 | 1993-12-24 | マイクロコンピュータ及びその製造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5327108A JPH07182304A (ja) | 1993-12-24 | 1993-12-24 | マイクロコンピュータ及びその製造方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07182304A true JPH07182304A (ja) | 1995-07-21 |
Family
ID=18195389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5327108A Pending JPH07182304A (ja) | 1993-12-24 | 1993-12-24 | マイクロコンピュータ及びその製造方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07182304A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7201326B2 (en) | 2001-11-16 | 2007-04-10 | Hitachi, Ltd. | Information processing device |
US7865733B2 (en) | 2004-06-30 | 2011-01-04 | Fujitsu Semiconductor Limited | Secure processor and a program for a secure processor |
JP2014073397A (ja) * | 2013-11-26 | 2014-04-24 | Daito Giken:Kk | 遊技台 |
JP2015523635A (ja) * | 2012-05-25 | 2015-08-13 | コーニンクレッカ フィリップス エヌ ヴェ | プログラムのリバースエンジニアリング及び/又は改竄に対する保護のための方法、システム及び装置 |
-
1993
- 1993-12-24 JP JP5327108A patent/JPH07182304A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7201326B2 (en) | 2001-11-16 | 2007-04-10 | Hitachi, Ltd. | Information processing device |
US9536110B2 (en) | 2004-06-30 | 2017-01-03 | Socionext Inc. | Secure processor and a program for a secure processor |
US8886959B2 (en) | 2004-06-30 | 2014-11-11 | Fujitsu Semiconductor Limited | Secure processor and a program for a secure processor |
US9141829B2 (en) | 2004-06-30 | 2015-09-22 | Socionext Inc. | Secure processor and a program for a secure processor |
US7865733B2 (en) | 2004-06-30 | 2011-01-04 | Fujitsu Semiconductor Limited | Secure processor and a program for a secure processor |
US9652635B2 (en) | 2004-06-30 | 2017-05-16 | Socionext Inc. | Secure processor and a program for a secure processor |
US9672384B2 (en) | 2004-06-30 | 2017-06-06 | Socionext Inc. | Secure processor and a program for a secure processor |
US10095890B2 (en) | 2004-06-30 | 2018-10-09 | Socionext Inc. | Secure processor and a program for a secure processor |
US10303901B2 (en) | 2004-06-30 | 2019-05-28 | Socionext Inc. | Secure processor and a program for a secure processor |
US10685145B2 (en) | 2004-06-30 | 2020-06-16 | Socionext Inc. | Secure processor and a program for a secure processor |
US11550962B2 (en) | 2004-06-30 | 2023-01-10 | Socionext Inc. | Secure processor and a program for a secure processor |
JP2015523635A (ja) * | 2012-05-25 | 2015-08-13 | コーニンクレッカ フィリップス エヌ ヴェ | プログラムのリバースエンジニアリング及び/又は改竄に対する保護のための方法、システム及び装置 |
JP2014073397A (ja) * | 2013-11-26 | 2014-04-24 | Daito Giken:Kk | 遊技台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4513174A (en) | Software security method using partial fabrication of proprietary control word decoders and microinstruction memories | |
US7353401B2 (en) | Device and method for data protection by scrambling address lines | |
JP2008152549A (ja) | メモリ装置、およびメモリ装置のパスワード記憶方法 | |
JPH07182304A (ja) | マイクロコンピュータ及びその製造方法 | |
US20110289293A1 (en) | Semiconductor device | |
US7363481B2 (en) | Information processing method for controlling the function of a plurality of processors, program for realizing the method, and recording medium | |
KR100309463B1 (ko) | 특정 어드레스의 메모리 블록 프로텍션 회로 | |
JPH11232092A (ja) | マイクロプロセッサ用制御装置 | |
JP2733692B2 (ja) | Rom装置 | |
JPH07271751A (ja) | セキュリティ回路内蔵マイクロコントローラ | |
JP2004355383A (ja) | メモリ制御回路 | |
JP4438740B2 (ja) | 画像形成装置 | |
JPH05334195A (ja) | 情報処理装置 | |
JPH02199535A (ja) | マイクロプログラム制御装置 | |
JPS63266533A (ja) | デ−タ処理装置 | |
JPH0348954A (ja) | キー記憶制御方式 | |
JPH0731608B2 (ja) | 情報処理装置 | |
JP4537431B2 (ja) | マイクロプロセッサ | |
JP2636513B2 (ja) | 記憶装置および方法 | |
JPS5958563A (ja) | マイクロプロセツサシステムにおけるメモリアドレス拡張方式 | |
JP2006293490A (ja) | Cpu | |
JPS6368948A (ja) | Icカ−ドに於けるデ−タ保護方式 | |
JPH05173887A (ja) | 記憶装置 | |
JP2006338385A (ja) | プロセッサシステム | |
JPH081606B2 (ja) | シングルチップマイクロコンピュータ |