JPH01321519A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH01321519A
JPH01321519A JP63154779A JP15477988A JPH01321519A JP H01321519 A JPH01321519 A JP H01321519A JP 63154779 A JP63154779 A JP 63154779A JP 15477988 A JP15477988 A JP 15477988A JP H01321519 A JPH01321519 A JP H01321519A
Authority
JP
Japan
Prior art keywords
instruction
microprocessor
program
contents
code
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
JP63154779A
Other languages
English (en)
Inventor
Makoto Takano
誠 高野
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.)
Hitachi Microcomputer System Ltd
Original Assignee
Hitachi Microcomputer Engineering 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 Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Microcomputer Engineering Ltd
Priority to JP63154779A priority Critical patent/JPH01321519A/ja
Publication of JPH01321519A publication Critical patent/JPH01321519A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、マイクロプロセッサに関し、例えばプログ
ラムのコピーや解読防止を図るシステムや機密性の高い
システムの制御のためのマイクロプロセッサに利用して
有効な技術に関するものである。
〔従来の技術〕
ノイマン方式のマイクロプロセッサは、実行される命令
が格納されているアドレスを示すプログラムカウンタに
従い、プログラムが書き込まれているメモリから命令を
読み出して、内部の命令レジスタに格納(フェッチ)す
る。′マイクロブ「Jセッサの制御部では、デコード回
路によって命令の解読を行い、演算実行部にレジスタ選
択や演算器(A L U)の機能指定信号を送り命令の
実行が行われている。従来のマイクロプロセッサにおい
ては、上記のような命令コード(データ)は命令デコー
ド回路だ決められている命令マトリックスと一致してお
り、プログラムメモリに書かれているデータ(機械語)
は、オペランドを除き命令マトリックスで決められてコ
ードのならびである。このようなマイクロプロセッサと
して、例えば■日立製作所昭和60年9月発行「日立マ
イクロコンピュータデータブック 8ピッI−・16ビ
ツトマイクロプロセソサ; HD 68000 Jがあ
る。
〔発明が解決しようとする課題〕
上記マイクロプロセッサでは、プログラムカウンタによ
って示されているアドレスにあるメモリにプログラムが
格納されており、メモリにある命令コードとマイク!コ
ブ1コセッサが実行しようとする動作内容が一致してい
る。また、マイクロプロセッサによってフェッチされた
命令は、それぞれのコードによって解読後の動作順序が
決まっており、制御部で順序制御の結果マイクロプロセ
ッサの動作するマシンサイクルも定められている。
このため、プログラムが格納されているメモリを直接外
部から読み出し、このデータから逆に命令を判読し、プ
ログラムの逆アセンブルすることにより、そのシステム
の制御について知ることができるほか、他のシステムで
使われているソフトウェアをコピーし、同一のハードウ
ェア条件で実行させることも可能である。
この発明の目的は、ソフトウェアの機密保護及びコピー
を防止を実現したマイクロプロセッサを提供することに
ある。
この発明の前記ならびにそのほかの目的と新規な特徴は
、本明細書の記述および添付図面から明らかになるであ
ろう。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば、下記の通りである。
すなわち、マイクロプロセッサにあけるプログラムの命
令フェッチ、命令の解読及び実行等の情報処理の動作順
序、動作内容を制御する制御部の命令解読のためのオペ
コードマツプを予め任意に可変とする。
〔作 用〕
上記した手段によれば、同一ハードウェア仕様のマイク
ロプロセッサでもそれぞれに命令コードの固有性を持た
せることができるから、プログラムが格納されたメモリ
の内容を読み出しても命令コードが不明であるから命令
の判読が不可能となりソフトウェアの解読を防止できる
。また、そのプログラムの内容を形式的にコピーしても
マイクロプロセッサの命令コードが異なるから実質的な
プログラムのコピーも防止できる。
〔実施例〕
第1図には、この発明に係るマイクロプロセッサを含む
1チツプマイクロコンピユータの一実施例の要部ブロッ
ク図が示されている。同図において、破線で囲まれた各
回路ブロックは、マイクロプロセッサMPUを構成し、
以下に説明するプログラムメモリPGM等のような周辺
回路とともに、公知の半導体集積回路の製造技術により
、特に制限されないが、単結晶シリコンのような1個の
半導体基板上において形成される。
この実施例のマイクロプロセッサMPUは、演算実行部
ALUと制御部とを含む。制御部の機能は、マイクロプ
ロセッサMPUの動作の順序制御であり、他の1つは前
記の順序制御の結果どのような機能をはたすかを決めて
、演算部ALUに対してそれを指示することである。
上記制御部には、内部データバスDBを介してプログラ
ムが格納されているメモリPGMから命令を読み出して
格納する命令レジスタOPRがあり、このレジスタOP
Hに格納されたデータは、後述するようなマルチプレク
サMPXを介してアドレスデコーダADRに供給され、
その命令に相当するマイクロプログラムROM (以下
、単にmROMという)が選択される。rn ROMか
らは、命令(OPコード)に相当するマイクロOPコー
ドが順序制御に従い出力される。このマイクロ命令には
、マイクロOPコードフィールドOPCと次アドレスフ
ィールドNXAがあり、マイクロOPコードのデータA
LUCは、例えばデコード回路DECを通って演算実行
部ALUへ伝えられ演算内容を決める。一方、次アドレ
スフィールドNXAは、次のステップにmROMから読
み出されるべきマイクロワードのアドレスをマルチプレ
クサMPXを介してアドレスデコーダADRに供給する
。マルチプレクサMPXは、上記命令レジスタOPRの
命令コードを先頭アドレスとして伝えた後は、上記次ア
ドレスフィールドNXAを上記アドレスデコーダADR
に切り換えて伝える。このように、マイクロプログラム
方式のマイクロプロセッサMPUにおける、1つの命令
の実行は、rn ROMから数ステップのマイクロワー
ドの読み出しとその実行からなり、次アドレスフィール
ドNXAによってマイクロワードが次々と読み出されて
実行される。すなわち、この命令の実行は、マイクロプ
ロセッサMPUに対する命令に対応された機械語のデー
タにより命令の実行順序制御と演算部への機能指定とを
決める。このようなマイクロプログラムによる構成のマ
イクロプロセッサには、■日立製作所から販売されてい
るrHD64180Jがあり、基本的には同様な回路に
より実現される。
なお、REGは、レジスタ群であり、アドレスレジスタ
MAR,MBR,プログラムカウンタPC1汎用レジス
タREGn等を含んでいる。
この実施例では、上記機械語のデータをマイクロプロセ
ッサMPUによって固定にすることな(、予めユーザー
が定義したデータによって同等の命令実行を可能とする
ために、命令レジスタOPRの前段に機械を変換するた
めのデータマトリックス(命令コード変換部)DMXを
設ける。例えば、上記同様に機械語を変換するために、
−旦命令レジスタOP[?に取り込んだデータを対応さ
せるためとにアドレスデコーダとデコード回路に変換用
のデータマトリックスを設けてもよい。
次に、この実施例のマイクロプロセッサMPUにおける
命令実行動作の一例を説明する。
マイクロプロセッサMPUの動作を決める命令は、プロ
グラムメモリPGMに格納されている。
このプログラムメモリPGMは、RAM (ランダム・
アクセス・メモリ)から構成されるもの他、マスク型R
OMや各種PROM (プログラマブルROM)により
構成される。マイクロプログラムMPUは、プログラム
が格納されているメモリ番地を示すプログラムカウンタ
PCによって、アドレス信号を出力してアドレスバスA
DBを介してプログラムメモリPGMに伝え、データバ
スDBと内部バスBUSを通して上記アドレスに対応し
たメモリのデータ(機械語)を読み出す。このデータは
、マイクロプロセッサMPUの動作に対応しており、例
えばマイクロプロセッサ(HD64180)にあっては
、C3(11000011)は、ジャンプ命令(JP 
 mn)である。読み出されたデータは、上記従来のマ
イクロプロセッサ(HD64180等)では、直接に命
令レジスタOPRに格納されるが、この実施例のマイク
ロプロセッサMPUでは、命令レジスタOPRに格納さ
れる前に、データマトリックスDMXが設けられ、ここ
でデータ変換が行われる。すなわち、データマトリック
スDMXは、変換テーブルを構成し、テーブルに書かれ
ている値、言い換えるならば、ユーザーが任意に設定し
たデータに変換されるものである。例えば、第2図の(
A)に示すように、命令コードの上位Hiと下位LOと
に対応するデータを予め並べ換えておくことにより、本
来のジャンプ命令(JP  mn)をC3から例えば同
図の(B)に示すようにAOに変換するものである。言
い変えるならば、マイクロプロセッサMPUのプログラ
ムのデータを本来のコート以外のユーザーにおいて任意
に設定されるコードによって命令を実行することができ
る。
したがって、プ「1グラムメモリPGMをインサーキッ
トエミュレータなどの装置によって、トレースする場合
、従来のように命令と機械語のデータ(コード)が一致
していれば、マイクロプロセッサMPUの動作を知るこ
とができ、外部からプログラムを解読することができる
が、この実施例のように機械語をマイクロプロセンナM
PUの内部で変換しているため、上記プログラムメモリ
PGMのデータを例え読み出しても上記変換内容を知ら
ない第三者においてはそれを判読できない。
これにより、プログラムの解読を実質的に不能にできる
から、ソフトウェアの機密保護が可能になるものである
また、プログラムメモリPGMから直接にプログラムの
データをコピーしても、第三者が用いるマイクロプロセ
ッサでは、ハードウェア条件がみかけ上回−でも変換テ
ーブルの内容が一致しないから、それを実行することが
不能となり、プログラムのコピーを防止やトレードシー
クレットの保護を実現できるものとなる。例えば、ディ
ジクル・オーディオ・テープ・レコーダにおいて、その
動作制御を上記マイクロプロセッサを持つマイクロコン
ピュータにより制御するようにすれば、録音/再生とい
った一連の操作制御がプログラムにより実行され、その
プログラムの内容が解読できなければ、改造により禁止
されているコピー防止機能が破壊されることもない。
命令変換形態の他の方法としては、−旦命令レジスタO
PRに格納されたデータをアドレスデコードADR及び
マイクロOPコードのデコード回路DECのデコード条
件を変換することにより、前記同様な機器を実現できる
ものである。
上記データマトリックスDMXにおける変換テーブルは
、マイクロプロセッサMPUに変換テーブル書き換えの
ための専用端子を設ける構成としてもよいし、あるいは
1チツプマイクロコンピユータ(HD63シリーズ)の
ようにEFROM(イレーザブル&プログラマブル・リ
ード・オンリー・メモリ)に直接書き込むものとしても
よい。
いずれの場合でも、変換テーブルの内容が外部から読み
出すことができないようにすることが重要である。
上記の実施例から得られる作用効果は、下記の通りであ
る。すわなわち、 (11マイクロプロセツサのように、動作内容が命令コ
ードによって一意的に決められているものに、ユーザー
において任意に命令コードを変換する機能を持たせるこ
とにより、プログラムメモリのデータを外部から読み取
っても変換機能によって命令コードが異なってしまうた
め、マイクロプロセッサの動作内容を外部から解読する
ことができないようにすることができる。つまり、マイ
クロプロセッサを制御するプログラムを第三者が解読で
きなくなり、ソフトウェアの機密保護を図ることができ
るという効果が得られる。
(2)上記(11により、マイクロコンピュータを仕様
する装置において、その動作を制御しているプログラム
(ROMやフロッピーディスクあるいはそれに相当する
媒体に格納されている)をコピーし、」二記マイクロコ
ンピュータと同一ハードウェア条件を有する装置に使用
する場合、マイクロプロセッサの命令コードがマイクロ
プロセッサ固有となるため動作することができない。す
なわち、プログラムのコピーを実質的に防止することが
できるという効果が得られる。
以、F本発明者によってなされた発明を実施例に基づき
具体的に説明したが、本願発明は前記実施例に限定され
るものではなく、その要旨を逸脱しない範囲で種々変更
可能であることはいうまでもない。例えば、マイクロプ
ロセッサMPUは、前記のような1チツプのマイクロコ
ンピュータを構成するもの他、1つの半導体集積回路装
置により構成されるものであってもよい。すなわち、プ
ログラムメモリPGMや他の周辺回路がそれぞれ独自の
半導体集積回路装置により構成されるものであってもよ
い。この場合、プログラムの内容は節単に読み出すこと
ができるが、マイクロプロセッサMPUが実行する実際
の命令コードと異なるものであるため、それの読み出し
やコピーそれ自体は無意味なものとなる。上記マイクロ
プロセッサMPUは、マイクロプログラム方式によるも
の他、ランダム・ロジック・ゲートによる方式や、PL
A(プログラム・ロジック・アレイ)方式によって構成
されるものであってもよい。例えばマイクロプロセッサ
としては、前記のような汎用マイクロプロセッサの他、
グラフインクコントローラ・やフロッピーディスクコン
トローラのようなマイクロプロセッサの周辺装置であり
、マイクロプロセッサなどの発行するコマンドによって
動作するものであってもよい。また、データ変換は、全
ての命令コードを変換するものであってもよく、一部の
命令コードのみを変換するものであってもよい。
このように一部の命令コードのみを変換しても、第三者
にはどの命令コードが変換されているか不明であるから
結果として全体の命令コードが変換されていると同様な
効果がある。上記全ての命令コードを変換する場合、変
換テーブルを用いるもの他、特定のビットに対して論理
和を取るなどしてデータ変換を行うものであってもよい
。また、マイクロプロセッサM P Uが実行する命令
コードを同じくしておいて、プログラムを組むとき変換
された命令コードを用いるものとしてもよい。この場合
には、変換テーブルを命令レジスタOPRの前に置く構
成では、命令レジスタOPR以降の回路を同一にするこ
とができる。また、変換テーブルは、強制的な読み出し
に対してそ内容を破壊させる機能を持たせるものとして
もよい。
この発明は、汎用マイクロプロセッサの他、マイクロプ
ロセッサ機能を持つ周辺装置や特殊プロセッサ等のよう
に命令コードに従ってその動作を実行するという広い意
味でのマイクロプロセッサに利用できる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば、下記の通りである
。すなわち、プログラムメモリに格納された命令に従い
動作及び処理を行うマイクロプロセッサにおいて、命令
コードを変換する機能を設け、これに予め変換データを
設定することによって、マイクロプロセッサが固有の命
令コード(m械語)を持つことになるため、第三者によ
るプログラムの解読及びコピーによるプログラムの実行
を不可能となり、ソフトウェアの保護及び機密性の高い
処理の信頼性の向上が図られる。
【図面の簡単な説明】
第1図は、この発明に係るマイクロプロセッサ概念図で
ある。 MPU・・マイクロプロセッサ、DM×・・データマト
リックス(命令コード変換部)、MPX・・マルチプレ
クサ、OPR・・命令レジスタ、ADR・・アドレスデ
コーダ、mROM・・マイクロプログラムROM、OP
C・・マイクロOPコード、NXA・・次アドレスフィ
ールド、DEC・・デコード回路、REG・・レジスタ
群、PGM・・プログラムメモリ、ALU・・演算部、
ADB・・アドレスバス、DAB・・データバス、BU
S・・内部バス 第1図

Claims (1)

  1. 【特許請求の範囲】 1、プログラムの命令フェッチ、命令の解読及び実行等
    の情報処理の動作順序、動作内容を制御する制御部の命
    令解読のためのオペコードマップを予め可変とする機能
    を付加したことを特徴とするマイクロプロセッサ。 2、上記マイクロプロセッサは、1チップの半導体集積
    回路装置により構成されるものであることを特徴とする
    特許請求の範囲第1項記載のマイクロプロセッサ。 3、上記オペコードマップを可変とする機能は、書き換
    え可能なROMにより構成された命令解読用のオペコー
    ドマトリックスにより実現されるものであることを特徴
    とする特許請求の範囲第1又は第2項記載のマイクロプ
    ロセッサ。
JP63154779A 1988-06-24 1988-06-24 マイクロプロセッサ Pending JPH01321519A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63154779A JPH01321519A (ja) 1988-06-24 1988-06-24 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63154779A JPH01321519A (ja) 1988-06-24 1988-06-24 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH01321519A true JPH01321519A (ja) 1989-12-27

Family

ID=15591714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63154779A Pending JPH01321519A (ja) 1988-06-24 1988-06-24 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH01321519A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015523635A (ja) * 2012-05-25 2015-08-13 コーニンクレッカ フィリップス エヌ ヴェ プログラムのリバースエンジニアリング及び/又は改竄に対する保護のための方法、システム及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015523635A (ja) * 2012-05-25 2015-08-13 コーニンクレッカ フィリップス エヌ ヴェ プログラムのリバースエンジニアリング及び/又は改竄に対する保護のための方法、システム及び装置

Similar Documents

Publication Publication Date Title
JPS6145263B2 (ja)
JPS62197830A (ja) デ−タ処理システム
US4656581A (en) Vector mask control system
JPH01321519A (ja) マイクロプロセッサ
JPH03171231A (ja) マイクロコンピュータシステム
JPH0454636A (ja) プロセッサ
JP2624249B2 (ja) 模倣防止機能付プロセッサ
JPS6217773B2 (ja)
JPH0475137A (ja) データ処理装置
JPH0232663B2 (ja) Jokentsukihikakuenzansochi
JPH0397031A (ja) データ処理装置
JPS62197831A (ja) デ−タ処理装置
JPS63266533A (ja) デ−タ処理装置
JPS59153240A (ja) シングルチツプマイコンにおけるプログラムの秘密保護方式
JPS5952348A (ja) マイクロプログラム制御装置
JPS6051737B2 (ja) オプシヨン命令イリ−ガル処理方式
JP2506874B2 (ja) マイクロプログラム制御装置
JP2604319Y2 (ja) マイクロコンピュータ
JPS61235946A (ja) デ−タ処理装置
JPS62117041A (ja) マイクロコンピユ−タ
JPS60159942A (ja) デ−タ処理装置
JPS61131125A (ja) 情報処理装置
JPS6154540A (ja) デ−タ処理装置
JPH1165829A (ja) アドレス変換回路
JPS62174833A (ja) デ−タ処理システム