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
Application number
JP5327108A
Other languages
English (en)
Inventor
Tomoji Marumoto
共治 丸本
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.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP5327108A priority Critical patent/JPH07182304A/ja
Publication of JPH07182304A publication Critical patent/JPH07182304A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】メモリに格納されているプログラムの内容が読
み出しても分らないようにしてプログラムの保護を図っ
たマイクロコンピュータを提供する。 【構成】本発明のマイクロコンピュータは、プログラム
のうち少くとも命令部分を、公表されている所定のアセ
ンブラで発生する命令コードに1:1に対応するように
所定の規則に従って配置を入れ換えた命令マップで機械
語に変換して記憶したメモリ10と、該メモリ10のシ
ャッフルされた命令を解読するインストラクションデコ
ーダ13とを備えている。メモリ10のシャッフルデー
タの実現は例えば、マスクROMにおいてなされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関するものである。
【0002】
【従来の技術】マイクロコンピュータを駆動するための
プログラムは一般にROMに格納されているが、そのR
OMに格納する際には、アセンブリ語等で作成したプロ
グラムを、ただ1つの機械語に翻訳してからメモリに書
き込むのが普通である。そして、翻訳は所定のコードマ
ップに従って行なわれる。
【0003】
【発明が解決しようとする課題】ところで、メモリに格
納されているプログラムは、アセンブラが公表されてい
るので、メモリから読み出しさえすれば容易に分ってし
まう。ワンチップマイクロコンピュータでも、プログラ
ムは内部のROMに格納されているが、製品の良否判定
のテストのためにROMの内容が外部へ読み出されなけ
ればならないようになっているので、やはり外へ取り出
してそのプログラムを知ることが可能となる。
【0004】本発明はこのような点に鑑みなされたもの
であって、メモリに格納されているプログラムの内容が
読み出しても分らないようにしてプログラムの保護を図
ったマイクロコンピュータを提供することを目的とす
る。
【0005】
【課題を解決するための手段】上記の目的を達成するた
め本発明のマイクロコンピュータは、プログラムのうち
少くとも命令部分を、公表されている所定のアセンブラ
で発生する命令コードに1:1に対応するように所定の
規則に従って配置を入れ換えた命令マップで機械語に変
換して記憶したメモリと;前記メモリの命令を解読する
インストラクションデコーダとを備えている。このよう
なメモリ内の命令はマスクROMにおいて形成される。
【0006】
【作用】このような構成によると、単にメモリに記憶さ
れているプログラムを外部へ読み出しても、その内容は
分からない。即ち、命令とデータが読み出されても、命
令自体が解読できないと、全体として、そのプログラム
の内容は分からない。
【0007】
【実施例】以下図面に従って本発明の実施例を説明す
る。図1において、(1)はプログラマーによって作成
されたアセンブリ語で書かれたプログラムである。この
アセンブリ語のプログラムは従来の方法であれば、図2
(イ)のコードマップに従って、図1の(2)のように
そのまま翻訳されるが、本実施例では(2’)のように
命令マップがシャッフルされて翻訳される。
【0008】例えば、(1)のプログラムの命令の1つ
がAレジスタに01を加えなさいという命令の場合、A
レジスタに定数を加えるという語は図2(イ)のマップ
のMに示す部分の「5C」であるが、この「5C」で
は、「加える」という命令であることが分かってしまう
ので、図2(ロ)のマップのM’に示す部分の「28」
をとって「28」と翻訳する。
【0009】この「28」は「加えなさい」という意味
で翻訳したものであるが、例えば本来は「比較しなさ
い」という意味であるとする。順次このように通常の翻
訳とは異なる形で機械語に翻訳していく。ここで、図2
の(イ)は公表されているアセンブラで発生する命令コ
ードマップであり、図2の(ロ)は前記命令コードに
1:1で対応するが、所定の規則に従って配置が入れ換
えられた命令コードマップである。本明細書では、図2
の(ロ)の命令コードマップで機械語に翻訳するように
命令マップを入れかえることをシャッフルという。
【0010】図1に戻って、(3)は従来の方法でのR
OMへの書込みを示し、(4)はそれをインストラクシ
ョンデコーダで解読し、(5)では、CPUにその解読
結果が与えられる様子を示している。(3’)は本実施
例による方法でのROMへの書込みを示し、(4’)は
それをインストラクションデコーダで解読し、(5’)
はCPUに解読結果が与えられる様子を示している。最
終的に、CPUに与えられる命令は(5)と(5’)で
同一となる。尚、(4’)でのインストラクションデコ
ーダは(1)から(2’)への翻訳時の規則に合致する
ように構成されている。
【0011】本実施例ではシャッフルによる変換を行な
うだけであるので、アセンブラはデータ変換だけの簡単
なものとなる。尚、図2のように任意に命令マップをシ
ャッフルする以外に公表されているアセンブラで発生す
る各命令コードに対し一律に所定の数値を加える、又は
引いてもシャッフル用命令コードマップが得られる。
【0012】本発明のマイクロコンピュータは図3に示
すようにプログラム内蔵の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(強誘電体メモリ)であってもよい。
【0014】
【発明の効果】以上説明したように本発明によれば、プ
ログラムが公表アセンブラとは異なる配列で変換されて
メモリに記憶されているので、これをメモリから外部へ
読み出しても、それが何を表わしているか分らない。よ
って、プログラムを不正に使用されることがない。ま
た、プログラムの命令コードについて上記の変換を行な
うことによって、その変換がなされていない他のデータ
(命令以外のデータ)が分っても、全体としてはプログ
ラムは分らないので、必要最小限の暗号化で済ますこと
もできる。本発明ではデータコードの配置換えによるシ
ャッフルを行なうだけであるので、アセンブラはデータ
変換だけの簡単なものとなる。
【図面の簡単な説明】
【図1】 本発明の実施例を従来方法と対比して動作手
順を示す図。
【図2】 命令マップを示す図。
【図3】 本発明を適用するマイクロコンピュータの構
成を示す図。
【図4】 本発明を適用する他のマイクロコンピュータ
の構成を示す図。
【図5】 本発明を適用する更に他のマイクロコンピュ
ータの構成を示す図。
【符号の説明】
10 ROM 10a E2PROM 11 CPU 13 インストラクションデコーダ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】プログラムのうち少くとも命令部分を、所
    定のアセンブラで発生する命令コードに1:1に対応す
    るように所定の規則に従って配置を入れ換えた命令マッ
    プで機械語に変換して記憶したメモリと、 前記メモリの命令を解読するインストラクションデコー
    ダと、を備えるマイクロコンピュータ。
  2. 【請求項2】マスクROMにおいて、ROMのプログラ
    ムの命令部分を、所定のアセンブラで発生する命令コー
    ドに1:1に対応するように所定の規則に従って配置を
    入れ換えた命令マップで機械語に変換して形成すること
    を特徴とするマイクロコンピュータの製造方法。
JP5327108A 1993-12-24 1993-12-24 マイクロコンピュータ及びその製造方法 Pending JPH07182304A (ja)

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)

* Cited by examiner, † Cited by third party
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 コーニンクレッカ フィリップス エヌ ヴェ プログラムのリバースエンジニアリング及び/又は改竄に対する保護のための方法、システム及び装置

Cited By (13)

* Cited by examiner, † Cited by third party
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) シングルチップマイクロコンピュータ