JPH0475137A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0475137A
JPH0475137A JP2189781A JP18978190A JPH0475137A JP H0475137 A JPH0475137 A JP H0475137A JP 2189781 A JP2189781 A JP 2189781A JP 18978190 A JP18978190 A JP 18978190A JP H0475137 A JPH0475137 A JP H0475137A
Authority
JP
Japan
Prior art keywords
instruction
code
code conversion
program
conversion means
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
JP2189781A
Other languages
Japanese (ja)
Inventor
Hiroshi Takeda
博 武田
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2189781A priority Critical patent/JPH0475137A/en
Publication of JPH0475137A publication Critical patent/JPH0475137A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To protect the secrecy of software by preventing the embezzlement of a program by providing a code conversion means at the preceding stage of an instruction register, and setting an instruction code differently at every user. CONSTITUTION:The code conversion means 11 is provided just before the instruction register 13, and also, such configuration is provided that it is controlled whether or not conversion by the code conversion means 11 should be performed by a signal, and the validity/invalidity of the code conversion means 11 or a code conversion system itself is dynamically varied corresponding to the progression of the program. Therefore, no instruction is executed correctly until matching with the code conversion system by hardware or firmware in a microprocessor is taken even when only the imitation of a program or the switching of a ROM is performed. In such a way, it is possible to protect the secrecy of the software by preventing the embezzlement of the program.

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、データ処理技術さらにはマイクロコンピュ
ータシステムにおけるプログラムの機密保護に適用して
特に有効な技術に関し、例えばマイクロプロセッサの命
令解読方式に利用して有効な技術に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a data processing technology and a technology that is particularly effective when applied to security protection of programs in a microcomputer system. Regarding effective techniques.

[従来の技術] 従来のマイクロプロセッサは、ROM (リード・オン
リ・メモリ)やRAM (ランダム・アクセス・メモリ
)のような半導体メモリに格納されたプログラムの命令
コードを順次読み出してきて、それをそのまま内部の命
令レジスタに取り込む。そして、取り込んだ命令を命令
デコーダで解読したり、命令コードに対応したマイクロ
アドレスを形成してマイクロプログラムの入ったROM
をアクセスして制御語を読み出してデコードすることで
制御信号を形成し、この制御信号で実行ユニットを動作
させて命令を実行する方式が一般的であった([株コ朝
倉書店、1981年6月30日発行、「集積回路応用ハ
ンドブック」第405頁〜第449頁参照)。
[Prior Art] Conventional microprocessors sequentially read program instruction codes stored in semiconductor memory such as ROM (read-only memory) and RAM (random access memory), and then write them as they are. Load into internal instruction register. Then, the loaded instruction is decoded by an instruction decoder, a microaddress corresponding to the instruction code is formed, and the ROM containing the microprogram is stored.
A common method was to access the , read and decode the control word to form a control signal, and use this control signal to operate the execution unit to execute the instruction ([Co., Ltd. Asakura Shoten, June 1981). (Refer to pages 405 to 449 of "Integrated Circuit Application Handbook," published on March 30, 2013).

[発明が解決しようとする課題] シングルチップマイコンのように、プログラムを格納す
るメモリがプロセッサと同一のチップ上に内蔵されてい
るものにあっては、チップ外部への命令コードの読出し
を禁止することで秘密の保護を図ることができる。とこ
ろが、内部にプログラム用のメモリを有しないマイクロ
プロセッサにあっては、命令コードが公開されているた
め外部のROMに格納されているプログラムが容易に解
読されてしまい、秘密の保護が図れない。また、プログ
ラム自身が解読されなかったとしても、所望のプログラ
ムの入ったROMと差し換えるだけでシステムが動作さ
れてしまう。そのため、多大の費用と時間をかけて開発
したシステムの模倣を簡単に許してしまうという問題点
があった。
[Problem to be solved by the invention] For single-chip microcontrollers in which the memory for storing programs is built on the same chip as the processor, reading out instruction codes to the outside of the chip is prohibited. By doing so, you can protect your secrets. However, in a microprocessor that does not have an internal program memory, the instruction code is exposed, so the program stored in the external ROM can be easily decoded, making it impossible to protect the secret. Furthermore, even if the program itself is not decoded, the system can be operated simply by replacing the ROM with the desired program. Therefore, there is a problem in that it is easy to imitate a system that has been developed at a great deal of cost and time.

そこで、本出願人は、外部のメモリがら読み出された命
令コードを取り込んで保持するマイクロプロセッサ内の
命令レジスタの前段に命令コードの変換手段を設け、か
っこのコード変換手段をプログラム可能な構成にしてお
き、ユーザごとにコード変換方式を変更できるようにし
た発明を開発して、提案した(特開昭63−26653
3)。
Therefore, the present applicant provided an instruction code conversion means in the front stage of the instruction register in the microprocessor that captures and holds instruction codes read from external memory, and made the parenthesis code conversion means programmable. He then developed and proposed an invention that enabled the code conversion method to be changed for each user (Japanese Patent Application Laid-Open No. 63-26653).
3).

この発明は、上記先願発明の改良に関し、その目的はマ
イクロプロセッサの汎用性を損なうことなく、より効果
的にプログラムの盗用を防止して、ソフトウェアの機密
保護を図ることにある。
This invention relates to an improvement on the prior invention, and its purpose is to more effectively prevent program theft and protect the security of software without impairing the versatility of the microprocessor.

この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

[課題を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
[Means for Solving the Problems] Representative inventions disclosed in this application will be summarized as follows.

すなわち、命令レジスタの直前にコード変換手段を設け
るとともに、コード変換手段による変換を行なうか否か
を信号によって制御可能な構成とし、コード変換手段の
有効/無効もしくはコード変換方式そのものをプログラ
ムの進行に応じてダイナミックに変化させるようにした
ものである。
In other words, the code conversion means is provided immediately before the instruction register, and whether or not conversion is performed by the code conversion means can be controlled by a signal, and the enable/disable of the code conversion means or the code conversion method itself can be controlled in the progress of the program. It is designed to dynamically change depending on the situation.

[作用コ 上記した手段によれば、外部メモリに格納されるプログ
ラムを構成する命令コードは予め逆変換されて格納され
ているため、コードの変換方式が分からなければ全く意
味不明なものとなり、しがもマイクロプロセッサの動作
中ダイナミックにコード変換されるためより一層命令コ
ードの解読が困難になり、単にプログラムを模倣したり
ROMを差し換えてもマイクロプロセッサ内のバードウ
ウェアもしくはファームウェアによるコード変換方式と
のマツチングがない限り、正しい命令が実行されなくな
って、プログラムの盗用を防止して、ソフトウェアの機
密保護を図るという上記目的を達成することができる。
[Operations] According to the above-mentioned means, the instruction codes constituting the program stored in the external memory are inversely converted and stored in advance, so if the conversion method of the code is not known, it becomes completely meaningless. Since the code is dynamically converted during the operation of the microprocessor, it becomes even more difficult to decipher the instruction code, and even if you simply imitate the program or replace the ROM, the code conversion method by the software or firmware inside the microprocessor will not work. Unless there is matching, the correct instructions will not be executed, thereby preventing program theft and achieving the above purpose of protecting the security of software.

[実施例] 以下、本発明をマイクロプロセッサに適用した場合の一
実施例を説明する。
[Embodiment] An embodiment in which the present invention is applied to a microprocessor will be described below.

マイクロプロセッサ10内には、外部データバス20を
介して、ROMのようなプログラムが格納されたメモリ
30から読み出された命令コードを取り込んで保持する
命令レジスタ13と、この命令レジスタ13に取り込ま
れた命令コードを解読して適当な制御信号を形成する制
御部14とを有している。制御部14から出力される制
御信号によって各種汎用レジスタや演算論理ユニット、
アキュームレータ等の専用レジスタからなる実行ユニッ
ト15が動作され、読み込まれた命令に対応する処理が
実行される。上記制御部14は、ランダムロジック回路
または命令コードに対応したマイクロ命令群からなるマ
イクロプログラムが格納されたROM (マイクロプロ
グラムROM)により構成される。
The microprocessor 10 includes an instruction register 13 that captures and holds an instruction code read from a memory 30 such as a ROM in which a program is stored via an external data bus 20; The control unit 14 decodes the command code and generates an appropriate control signal. Various general-purpose registers, arithmetic logic units,
An execution unit 15 consisting of a dedicated register such as an accumulator is operated to execute processing corresponding to the read instruction. The control unit 14 is constituted by a ROM (microprogram ROM) in which a microprogram consisting of a group of microinstructions corresponding to a random logic circuit or an instruction code is stored.

この実施例では、上記命令レジスタ13の前段に、例え
ば論理ゲートや切換回路等からなるコード変換手段11
が設けられている。また、このコード変換手段11に対
応して変換を行なうか否かを指定するためのフリップフ
ロップのような指定手段12が設けられている。この指
定手段12は外部端子16からの信号もしくは制御部1
4からの制御信号によって「1」または「0」の設定が
可能にされており、指定手段12が「1」に設定される
とその出力信号によって上記コード変換手段11がデー
タバス20から取り込まれた命令コ−ドを変換して命令
レジスタ13に供給し、指定手段12が「0」に設定さ
れていると、命令コードをそのまま命令レジスタ13に
格納するようになっている。
In this embodiment, a code converting means 11 comprising, for example, a logic gate or a switching circuit is provided before the instruction register 13.
is provided. Further, corresponding to the code converting means 11, a specifying means 12 such as a flip-flop is provided for specifying whether or not to perform conversion. This designation means 12 receives a signal from an external terminal 16 or a signal from the control unit 1.
The code conversion means 11 can be set to "1" or "0" by the control signal from the data bus 20, and when the designation means 12 is set to "1", the output signal causes the code conversion means 11 to take in the code from the data bus 20. The instruction code is converted and supplied to the instruction register 13, and if the specifying means 12 is set to "0", the instruction code is stored in the instruction register 13 as is.

ここで、制御部14のハードウェアもしくはマイクロプ
ログラムが、同種のすべてのマイクロプロセッサにおい
て共通であるとすると、命令レジスタ13に入る最終的
な命令コードはすべて同一であることを要する。
Here, assuming that the hardware or microprogram of the control unit 14 is common to all microprocessors of the same type, the final instruction codes entered into the instruction register 13 must all be the same.

そこで、この実施例のマイクロプロセッサを使用したシ
ステムでは、命令レジスタ13に入る本来の命令コード
に対してコード変換手段11で実行される変換とは逆の
変換を施したコードを用いて予め作製したプログラムを
、外部のメモリ3゜内に入れておくことにより所望の命
令を実行させるようになっている。これによって、外部
のROM等に入っている命令コードを調べただけではプ
ログラムを解読することが困難となり、ユーザプログラ
ムの機密保護が図れる。
Therefore, in the system using the microprocessor of this embodiment, the original instruction code entered in the instruction register 13 is created in advance using a code that is converted in the opposite way to the conversion executed by the code conversion means 11. By storing the program in an external memory 3°, desired instructions can be executed. This makes it difficult to decipher the program just by checking the instruction code stored in an external ROM, etc., and it is possible to protect the security of the user program.

しかもこの実施例では、上記指定手段12の設定状態を
プログラム実行中にダイナミックに変化させるようにな
っている。
Moreover, in this embodiment, the setting state of the specifying means 12 is dynamically changed during program execution.

その具体的な手法としては、制御部14内にアドレスレ
ジスタと比較器とを設け、外部へ出力された命令フェッ
チアドレスがアドレスレジスタに設定されたアドレス範
囲に入っているか常時比較器でチエツクし、所定のアド
レス範囲内の命令をフェッチしたときにのみ指定手段1
2の状態を書き換えてコード変換器11により命令コー
ドの変換を行なわせる方法がある。
As a specific method, an address register and a comparator are provided in the control unit 14, and the comparator constantly checks whether the instruction fetch address outputted to the outside is within the address range set in the address register. Specifying means 1 only when an instruction within a predetermined address range is fetched
There is a method of rewriting the state of 2 and causing the code converter 11 to convert the instruction code.

上記指定手段12の設定状態をプログラム実行中にダイ
ナミックに変化させる他の方法としては、指定手段12
を切り換える専用の命令(非公開)を用意し、プログラ
ム中に適宜その命令を挿入しておいて、指定手段12を
ランダムに書き換える方法、あるいは制御部14内に命
令サイクルを計数するカウンタを設け、周期的に指定手
段12を書き換えてコード変換器11を有効にしたり無
効にしたりする方法がある。
Another method for dynamically changing the setting state of the specifying means 12 during program execution is to
A method of preparing a dedicated command (not disclosed) for switching the command and inserting the command into the program as appropriate to randomly rewrite the specifying means 12, or providing a counter for counting command cycles in the control unit 14, There is a method of periodically rewriting the specifying means 12 to enable or disable the code converter 11.

さらに、他の手法としては、制御部14で命令を解読し
、フェッチした命令コードのうちインストラクションコ
ードのみコード変換し、オペランドやデータはコード変
換しないように指定手段12を書き換える純ソフトウェ
ア的な方法が考えられる。
Furthermore, as another method, there is a pure software method in which the control unit 14 decodes the instruction and rewrites the specifying means 12 so that only the instruction code among the fetched instruction codes is converted, and the operands and data are not converted. Conceivable.

もちろん、チップに設けられた外部端子16を用いて外
部から随時指定手段12を設定し直す信号を入れるよう
にしてもよい。
Of course, a signal for resetting the designating means 12 may be input from the outside using the external terminal 16 provided on the chip.

第2図には、上記コード変換手段11の構成例が示され
ている。
FIG. 2 shows an example of the configuration of the code conversion means 11.

第2図(A)は最も単純な例であって、命令コードがn
ビット構成である場合にはn個のEORゲート01〜O
nと一つのフリップフロップFFOとによりコード変換
手段11が構成されている。
FIG. 2(A) is the simplest example, where the instruction code is n
If it is a bit configuration, n EOR gates 01 to O
Code converting means 11 is constituted by FFO and one flip-flop FFO.

この実施例では、フリップフロップFFOが「1」に設
定されていると入力されたコードが反転されて出力され
、フリップフロップFFOが「0」に設定されていると
入力されたコードはそのままの論理状態で命令レジスタ
3に供給される。
In this embodiment, when the flip-flop FFO is set to "1", the input code is inverted and output, and when the flip-flop FFO is set to "0", the input code is output as is. The state is supplied to the instruction register 3.

第2図(B)では、一つのフリップフロップFFOと、
各ビットごとに相補的に動作される一対のバッフyBF
11.BFl 2〜BFn l、BFn2が設けられて
おり、フリップフロップFFOが「1」に設定されると
、バッファBF12〜BFn2が能動状態にされて、入
力されたビットB〜Bnを入れ換えて命令レジスタへ供
給する。
In FIG. 2(B), one flip-flop FFO and
A pair of buffers yBF that operate complementary to each bit
11. BFl2 to BFnl, BFn2 are provided, and when the flip-flop FFO is set to "1", the buffers BF12 to BFn2 are activated, and the input bits B to Bn are exchanged and sent to the instruction register. supply

第2図(C)の実施例では、各ビット81〜Bnが入力
される論理ゲートG1=Gnに対応されたフリップフロ
ップFFI〜FFnからなるレジスタが指定手段12と
して設けられており、このレジスタ12の設定状態に応
じたコード変換が実行可能にされている。すなわち、対
応するフリップフロップが「0」に設定されている論理
ゲートは入力ビットを強制的に「0」に固定して出力し
、フリップフロップが「1」に設定されていると入力ビ
ットをそのまま出力して命令レジスタへ供給する。これ
によって入力されたコードはレジスタ12の設定内容が
異なると全く別のコードに変換される。
In the embodiment shown in FIG. 2(C), a register consisting of flip-flops FFI to FFn corresponding to the logic gate G1=Gn to which each bit 81 to Bn is input is provided as the specifying means 12. Code conversion can be executed according to the setting status of . In other words, a logic gate whose corresponding flip-flop is set to ``0'' forces the input bit to be fixed to ``0'' and outputs it, and when the flip-flop is set to ``1'', the input bit remains unchanged. Output and supply to the instruction register. As a result, the input code is converted into a completely different code if the settings of the register 12 are different.

なお、第2図(C)の実施例では、全ビットについて同
一種類の論理ゲートを用いているが、各ビットごとに異
なる論理ゲートを用いてもよい。
In the embodiment shown in FIG. 2C, the same type of logic gate is used for all bits, but a different logic gate may be used for each bit.

一方、上記設定手段12としては、フリップフロップの
他、例えばEPROM素子もしくはEEPROMEPR
OM素子ROM素子のようなプログラム可能な不揮発性
素子を使用してもよい。その場合、メーカにおいて上記
不揮発性素子にデータを書き込んでもよいし、ユーザに
おいて書き込むようにしてもよい。
On the other hand, as the setting means 12, in addition to a flip-flop, for example, an EPROM element or an EEPROMEPR
Programmable non-volatile elements such as OM elements and ROM elements may also be used. In that case, data may be written into the nonvolatile element by the manufacturer, or may be written by the user.

また、コード変換手段11を第2図(A)〜(C)に示
すような論理ゲート回路の代わりに、演算論理ユニット
で構成し、制御部14内のマイクロプログラムその他の
ファームウェアにより、演算論理ユニットでの演算の種
類を指定してやるようにしてもよい。しかも、演算の種
類を指定するレジスタを設け、メーカに対してもプログ
ラムの機密を保護したいと望むユーザに対しては、演算
器において可能な演算の種類のみを情報として与え、不
揮発性レジスタへの書込みをユーザに委ねることによっ
て、より信頼性の高い機密保護が可能となる。
Further, the code conversion means 11 is configured with an arithmetic logic unit instead of the logic gate circuit shown in FIGS. 2(A) to (C), and the arithmetic logic unit You may also specify the type of operation in . Moreover, for users who wish to protect the confidentiality of their programs from manufacturers by providing a register to specify the type of operation, only the types of operations that are possible in the arithmetic unit are provided as information, and a register that specifies the type of operation is provided to the non-volatile register. By entrusting writing to the user, more reliable security protection is possible.

さらに、制御部14が書替え可能なEPROMで構成さ
れているような場合には、マイクロプログラムROM内
にキーワードを入れておいて、レジスタ12として揮発
性レジスタを使用し、システムの立上り時等にマイクロ
プログラムROM内のキーコードをレジスタ12に入れ
るように構成してもよい。
Furthermore, if the control unit 14 is configured with a rewritable EPROM, a keyword is stored in the microprogram ROM, and a volatile register is used as the register 12, so that the microprogram ROM can be stored in the microprogram ROM at the time of system startup, etc. The key code in the program ROM may be stored in the register 12.

さらに、コード変換手段11と命令レジスタ13との間
に複数個の命令コードが格納可能なファーストイン・フ
ァーストアウト方式のキャッシュメモリを設けてもよい
Furthermore, a first-in, first-out cache memory capable of storing a plurality of instruction codes may be provided between the code conversion means 11 and the instruction register 13.

このようにすれば、命令レジスタ13内に取り込まれた
命令を解読して実行している間に、その命令に続く次の
命令コードを外部のメモリから読み出してコード変換手
段11によりコード変換し、それをキャッシュレジスタ
に貯えておくようにすることにより、コード変換に要す
る時間が無視できるようになり、コード変換手段を有し
ない従来のマイクロプロセッサとほぼ同等の命令実行速
度を得ることができる。
In this way, while the instruction taken into the instruction register 13 is decoded and executed, the next instruction code following the instruction is read from the external memory and converted by the code conversion means 11, By storing it in a cash register, the time required for code conversion can be ignored, and an instruction execution speed almost equivalent to that of a conventional microprocessor without code conversion means can be obtained.

以上説明したように上記実施例においては、命令レジス
タの直前にコード変換手段を設けるとともに、コード変
換手段による変換を行なうか否か信号によって制御可能
な構成とし、コード変換手段の有効/無効もしくはコー
ド変換方式そのものをプログラムの進行に応じてダイナ
ミックに変化させるようにしたので、外部メモリに格納
されるプログラムを構成する命令コードは予め逆変換さ
れて格納されているため、全く意味不明なものとなり、
しかもマイクロプロセッサの動作中ダイナミックにコー
ド変換されるためより一層命令コードの解読が困難にな
り、単にプログラムを模倣したりROMを差し換えても
マイクロプロセッサ内のハードウェアもしくはファーム
ウェアによるコード変換方式とのマツチングがない限り
、正しい命令が実行されなくなって、プログラムの盗用
が防止され、ソフトウェアの機密保護が図られるように
なるいう効果がある。
As explained above, in the above embodiment, the code conversion means is provided immediately before the instruction register, and the configuration is such that whether or not the code conversion means performs conversion can be controlled by a signal. Since the conversion method itself is dynamically changed according to the progress of the program, the instruction codes that make up the program stored in external memory are inversely converted and stored in advance, so they become completely meaningless.
Moreover, as the code is dynamically converted during the operation of the microprocessor, it becomes even more difficult to decipher the instruction code, and even if you simply imitate the program or replace the ROM, it will not match the code conversion method using the hardware or firmware inside the microprocessor. Unless there is a code, correct instructions will not be executed, preventing program theft and ensuring software security.

以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
、ダイナミックなコード変換を行なうためコード変換手
段11が論理ゲートまたは演算器で構成されていると説
明したが、それに限定されるものではない。例えば、コ
ード変換手段を、PLA(プログラマブル・ロジック・
アレイ)やプログラム可能なROMを用いて構成するこ
ともできる。
Although the invention made by the present inventor has been specifically explained above based on Examples, it goes without saying that the present invention is not limited to the above Examples and can be modified in various ways without departing from the gist thereof. Nor. For example, in the above embodiment, it has been explained that the code conversion means 11 is composed of a logic gate or an arithmetic unit in order to perform dynamic code conversion, but the present invention is not limited thereto. For example, the code conversion means may be a PLA (programmable logic
It can also be constructed using a programmable ROM (array) or programmable ROM.

また、コード変換手段を、第2図(B)のように複数の
信号経路の切換えを行なうバッファ回路で構成する代わ
りにスイッチ素子もしはくマスクスライス法による配線
形成による切換えで命令コードのビット配列を変更して
伝送するようにしてもよい。
In addition, instead of configuring the code conversion means with a buffer circuit that switches a plurality of signal paths as shown in FIG. It may be possible to change and transmit.

以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロプロセッサ
に適用したものについて説明したが、この発明はそれに
限定されるものでなく、外部拡張可能なシングルチップ
マイコンその他命令を取り込んで実行するデータ処理装
置一般に利用することができる。
In the above explanation, the invention made by the present inventor was mainly applied to microprocessors, which is the background field of application. It can be used generally in microcomputers and other data processing devices that capture and execute instructions.

[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
[Effects of the Invention] The effects obtained by typical inventions disclosed in this application are briefly explained below.

すなわち、ユーザごとにコード変換方式を変更できるの
で、命令コードをユーザごとに異ならしめることが可能
となるとともに、プログラム実行中ダイナミックにコー
ド変換方式を変更することができ、これによってマイク
ロプロセッサの汎用性を損なうことなく、プログラムの
盗用を防止して、ソフトウェアの機密保護を図ることが
できる。
In other words, since the code conversion method can be changed for each user, it is possible to make the instruction code different for each user, and the code conversion method can be changed dynamically during program execution, which increases the versatility of the microprocessor. It is possible to prevent program theft and protect the security of software without damaging the software.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明に係るマイクロプロセッサの一実施例
を示すブロック図、 第2図(A)、(B)、(c)は、コード変換手段の構
成例を示す論理回路図である。 10・・・・マイクロプロセッサ、20・・・・外部デ
ータバス、13・・・・命令レジスタ、14・・・・制
御部、15・・・・実行ユニット、11・・・・コード
変換手段。 第  1  図 第  2 図 に)
FIG. 1 is a block diagram showing an embodiment of a microprocessor according to the present invention, and FIGS. 2 (A), (B), and (c) are logic circuit diagrams showing an example of the configuration of code conversion means. 10...Microprocessor, 20...External data bus, 13...Instruction register, 14...Control unit, 15...Execution unit, 11...Code conversion means. (see Figure 1 and Figure 2)

Claims (1)

【特許請求の範囲】 1、外部のメモリから読み出された命令コードを取り込
んで保持する命令レジスタの前段に設けられたコード変
換手段と、該コード変換手段の有効/無効もしくは命令
コードの変換方式を指定するための指定手段とを備えて
なることを特徴とするデータ処理装置。 2、上記指定手段は、プログラム実行中に制御部から供
給される制御信号によって設定状態が変更されるように
構成されてなることを特徴とする請求項1記載のデータ
処理装置。3、上記指定手段の設定状態を外部から変更
させるための外部端子を備えてなることを特徴とする請
求項1記載のデータ処理装置。
[Scope of Claims] 1. Code converting means provided before an instruction register that captures and holds an instruction code read from an external memory, and whether the code converting means is enabled or disabled or an instruction code conversion method. 1. A data processing device comprising: a designation means for designating. 2. The data processing apparatus according to claim 1, wherein the specifying means is configured such that the setting state is changed by a control signal supplied from a control unit during program execution. 3. The data processing apparatus according to claim 1, further comprising an external terminal for externally changing the setting state of the specifying means.
JP2189781A 1990-07-18 1990-07-18 Data processor Pending JPH0475137A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2189781A JPH0475137A (en) 1990-07-18 1990-07-18 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2189781A JPH0475137A (en) 1990-07-18 1990-07-18 Data processor

Publications (1)

Publication Number Publication Date
JPH0475137A true JPH0475137A (en) 1992-03-10

Family

ID=16247099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2189781A Pending JPH0475137A (en) 1990-07-18 1990-07-18 Data processor

Country Status (1)

Country Link
JP (1) JPH0475137A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520811A (en) * 2004-01-13 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method used for decoding executable code and associated apparatus
US7278029B2 (en) 1996-09-03 2007-10-02 Hitachi, Ltd. Program writable IC card and method thereof
JPWO2009011035A1 (en) * 2007-07-17 2010-09-09 パイオニア株式会社 Stop location candidate information registration device, stop location candidate information registration method, stop location candidate information registration program, and storage medium
US8841827B2 (en) 2010-09-29 2014-09-23 Ngk Spark Plug Co., Ltd. Spark plug with improved resistance to spark-induced erosion of the ground electrode tip
JP2015523635A (en) * 2012-05-25 2015-08-13 コーニンクレッカ フィリップス エヌ ヴェ Method, system and apparatus for protection against reverse engineering and / or tampering of programs

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278029B2 (en) 1996-09-03 2007-10-02 Hitachi, Ltd. Program writable IC card and method thereof
JP2007520811A (en) * 2004-01-13 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method used for decoding executable code and associated apparatus
JP4751835B2 (en) * 2004-01-13 2011-08-17 エヌエックスピー ビー ヴィ Method used for decoding executable code and associated apparatus
JPWO2009011035A1 (en) * 2007-07-17 2010-09-09 パイオニア株式会社 Stop location candidate information registration device, stop location candidate information registration method, stop location candidate information registration program, and storage medium
US8841827B2 (en) 2010-09-29 2014-09-23 Ngk Spark Plug Co., Ltd. Spark plug with improved resistance to spark-induced erosion of the ground electrode tip
JP2015523635A (en) * 2012-05-25 2015-08-13 コーニンクレッカ フィリップス エヌ ヴェ Method, system and apparatus for protection against reverse engineering and / or tampering of programs

Similar Documents

Publication Publication Date Title
US5446864A (en) System and method for protecting contents of microcontroller memory by providing scrambled data in response to an unauthorized read access without alteration of the memory contents
KR0138697B1 (en) Microcomputer
CN102047261B (en) A method for adapting and executing a computer program and computer architecture therefore
KR19980071365A (en) Memory access control circuit
JP2007249323A (en) Microcomputer
WO2006093618A2 (en) Integrated microcontroller and memory with secure interface between system program and user operating system and application
JP4312272B2 (en) Microcontroller that restricts access to internal memory
US20050257016A1 (en) Digital signal controller secure memory partitioning
JP2003521034A (en) Microprocessor system and method of operating the same
TW556081B (en) Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
JPH0475137A (en) Data processor
KR950009687B1 (en) High speed ladder instruction processing apparatus for programnable logic controller
US4831572A (en) Polynomial vector arithmetic operation control system
JPS63266533A (en) Data processor
JP2624249B2 (en) Processor with imitation prevention function
JP3234959B2 (en) Microcomputer and card incorporating the same
GB2263348A (en) Securing program code.
US20090106540A1 (en) Apparatus and method for remanipulating instructions
JP4546127B2 (en) Microcontroller
JPH02128266A (en) Register with protective function
JP3755168B2 (en) Programmable controller
JP2004086525A (en) Semiconductor device and in-circuit emulator using the same
KR100468615B1 (en) Apparatus for protecting internal program
KR20080044652A (en) Method for debugging by using stack of cpu
JP4236808B2 (en) Microcomputer with built-in nonvolatile memory and self-rewriting method of the nonvolatile memory