JPS6083157A - One chip microcomputer - Google Patents

One chip microcomputer

Info

Publication number
JPS6083157A
JPS6083157A JP58191915A JP19191583A JPS6083157A JP S6083157 A JPS6083157 A JP S6083157A JP 58191915 A JP58191915 A JP 58191915A JP 19191583 A JP19191583 A JP 19191583A JP S6083157 A JPS6083157 A JP S6083157A
Authority
JP
Japan
Prior art keywords
program
program memory
data
contents
microprocessing unit
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
JP58191915A
Other languages
Japanese (ja)
Inventor
Masabumi Watanabe
正文 渡邊
Toshitsune Ozaki
尾崎 利常
Jiro Hirahara
平原 治郎
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 JP58191915A priority Critical patent/JPS6083157A/en
Priority to EP84110235A priority patent/EP0137995B1/en
Priority to DE8484110235T priority patent/DE3483410D1/en
Priority to US06/646,114 priority patent/US4764959A/en
Publication of JPS6083157A publication Critical patent/JPS6083157A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Microcomputers (AREA)

Abstract

PURPOSE:To prevent the decoding of program contents by delivering the program contents to outside after converting the data of a program memory. CONSTITUTION:When a signal is supplied from outside to indicate the reading of contents of a program memory 12, a cipher code set previously to a code generator 16 is applied to an instruction decoder 11. While the address data corresponding to a desired address of the memory 12 is applied via an input/output port 14 to designate an address. Then the data on the address is fetched to an accumulator 11B and converted by the cipher code. In this case, an instruction proper to a microprocessing unit 11 is executed by means of the hardware of the unit 11 itself.

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はプログラムメモリの内容を秘匿することができ
るワンチップマイクロコンピュータに関する。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a one-chip microcomputer that can hide the contents of a program memory.

〔発明の技術的背景とその問題点〕[Technical background of the invention and its problems]

近時、プロセッシングユニットと共にプログラムメモリ
、入出力インターフェースなトラワンチップに集積化し
、それ自体で1台のコンピュータとして動作するワンチ
ップマイクロコン乙−夕が多用されている。
Recently, one-chip microcontrollers have been widely used, which integrate a processing unit, a program memory, and an input/output interface into a single chip and operate as a computer by itself.

第1図はこのようなワンチップマイクロコンピュータの
一例を示すブロック図である。
FIG. 1 is a block diagram showing an example of such a one-chip microcomputer.

図中1はマイクロプロセッシングユニットでノログラム
を解読し、その内容に応じた処理を行なう。したがって
、このマイクロプロセッシングユニット1にはプログラ
ムの命令部分を%7釈するインストラクシ冒ンデコーダ
7A、データを格納するアキニームレータIB、テンポ
ラリレジスタiC,これらに格納されたデータの演算を
行なう算術論理演算ユニツ□)JD等を設けている。2
は7#pグラムを格納したf0グラムメそりで、たとえ
ばマスクROMである。さらに3Lデータの一時退避、
ワークエリア等として用いるRAM、4は入出力ボート
である。マイクロデロセッシングユニツ) J 、!ニ
ア’ログ2ムメモリ2、RAM 3および入出力n?−
ト4とのn::ではパス5を介してデータの転送を行な
うようにしている。そしてプログラムメモリ2に格*f
’l したプログラムをインストラクションコード11
で解釈して狗術論理演>1.ユニット10における@算
を制御する。そして、この演にの紀碧1、入出力ポート
4を介して外部に対してa号の授受を行なうようにして
いる。
1 in the figure is a microprocessing unit that decodes the nologogram and performs processing according to its contents. Therefore, this microprocessing unit 1 includes an instruction decoder 7A that interprets the instruction part of the program, an akinemulator IB that stores data, a temporary register iC, and an arithmetic and logic operation that operates on the data stored in these. Units □) JD etc. are established. 2
is an f0 gram memory storing 7#p grams, for example, a mask ROM. Furthermore, temporary backup of 3L data,
A RAM is used as a work area, etc., and 4 is an input/output board. Micro Derocessing Units) J,! Near'log 2, RAM 2, RAM 3 and input/output n? −
At n:: with port 4, data is transferred via path 5. and store *f in program memory 2.
'l Program with instruction code 11
Interpret it with dogjutsu logic>1. Controls @ calculation in unit 10. Then, the number a is sent and received to the outside via the input/output port 4 and the Kiheki 1 of this performance.

しかしてこのようなマイクロコレビュータラワンチップ
に構成すると全体の接続箇所の数が著るしく少なくなる
。しかも各ユニット間を接続するパスを短かくできそれ
によって負荷容量も小苦くできるのでドライバー回路の
ディメンジョンを小さくすることができる。したがって
消費電力を低減でき、発熱を少なくシ、接続箇所を少な
くできることと相俟って信頼性を向上することができる
However, if such a microcolumn is constructed in one chip, the total number of connection points will be significantly reduced. Moreover, the path connecting each unit can be shortened, and the load capacity can also be reduced, so the dimension of the driver circuit can be reduced. Therefore, power consumption can be reduced, heat generation can be reduced, and reliability can be improved by reducing the number of connection points.

さらにまた、このようなワンチップマイクロコンピータ
はコストも安価なことから、たとえば種々の電気製品で
、従来価格的にコンピ−タ制御を行なうことは困難と考
えられていた製品にも用いることができる。この結果、
コンピュータ制御を行なうことによって条件判断、外部
入力等に対応して複雑な制御を行なうことが可能になシ
、シかも従来IC等を組合せたノ・−ドウェアによって
実現していた回路をマイクロコンピータのソフトウェア
に置@換工、所謂ハードウェアのソフト化が可能になる
。したθ(うて、ハードウェアのコストを低減すること
ができ、しかもソフトウェアを修正することによってハ
ードウェアを変更することなく製品の仕様の変更が可能
であ多機能の柔軟性を茜めることかできる。
Furthermore, since the cost of such a one-chip microcomputer is low, it can be used in various electrical products, for example, which were previously thought to be difficult to control due to the cost. . As a result,
By performing computer control, it becomes possible to perform complex control in response to condition judgments and external inputs. It becomes possible to replace the hardware with software. θ (Ute) can reduce the cost of hardware, and can also change the product specifications by modifying the software without changing the hardware, increasing the flexibility of multi-functions. I can do it.

このようなマイクロプロセッシングユニットではプログ
ラムは命令の集合として力えられかつ命令ハプロセッシ
ングユニット固有のインストラクションコードに基づい
て記述される0また使用者が任意にプログラムの開発を
行なうことができ、既に開発されたプログラムの改良を
容易に行なえるようにインストラクションコードは公開
されることが多い。このため、プログラムメモリの内容
を読み出すことができればそのプログラムを解読してソ
フトウェアのアルゴリズムを知ることも容易に実現可能
となる。
In such a microprocessing unit, a program is written as a set of instructions, and the instructions are written based on instruction code specific to the processing unit.Also, the user can freely develop a program, and the program can be written as a set of instructions. The instruction code is often made public so that the program can be easily improved. Therefore, if the contents of the program memory can be read out, it becomes possible to easily decode the program and learn the software algorithm.

ところで、ワンチップマイクロコンピュータでは、プロ
グラムメモリの内容のベリファイ等を行なうためにその
記憶内容を外部から読み出すことができるようにしたも
のがある。このようなものでは、たとえば外部からプロ
グラムメモリの内容の読み出しを指示する信号を与え、
かつ入出力ポート4を介して所望のアドレスを指定する
ことによシ当該アドレスに対応するプログラムメモリの
内容を上記入出力ポート4を介して出力するようにして
いる。
By the way, some one-chip microcomputers are designed so that the stored contents of the program memory can be read from the outside in order to verify the contents of the program memory. In this type of device, for example, a signal is given from outside to instruct the reading of the contents of the program memory,
By specifying a desired address through the input/output port 4, the contents of the program memory corresponding to the address are outputted through the input/output port 4.

しかしながらこのようなものでは、プログラムメモリ2
に記憶された内容を部外者も容易に読出せるのでその内
容を秘匿することができない。このために部外者がプロ
グラムメモリの内容を読み出して解読し、容易に模倣し
、あるいは改良して自己の目的に使用することができる
However, in such a case, the program memory 2
Since the contents stored in the computer can be easily read by outsiders, the contents cannot be kept secret. For this reason, an outsider can read and decode the contents of the program memory and easily imitate or improve the contents and use them for his own purposes.

一方、プログラムメモリの内容を外部から読み出すこと
ができないようにしたワンチップマイクロコンピュータ
もあるが、このようなものでは出荷試験、受入拭上等に
おいて、プログラムメモリの内容をベリファイすること
ができない問題があった。
On the other hand, there are some one-chip microcomputers that prevent the contents of the program memory from being read externally, but such devices have the problem of not being able to verify the contents of the program memory during shipping tests, acceptance wiping, etc. there were.

さらにマイクロプロセッシングユニット1のインストラ
クションコードとして、−膜性の無い固有のコードを用
いることも考えられるがこのようにすると、プログラム
の汎用性が全くなくなシ、また既に開発されたゾログラ
ムを転用し、あるいは改良して用いることもできなくな
シ合理的ではない。
Furthermore, it is conceivable to use a unique non-membrane code as the instruction code for the microprocessing unit 1, but in this case, the program would have no versatility at all, and an already developed zologram would have to be reused. Or, it would be impossible to improve it and use it, which would be unreasonable.

〔発明の目的〕[Purpose of the invention]

本発明は上記の事情に鑑みて外されたものでプログラム
メモリの内容を読み出しても部外者がプログラムの内容
を解読できないようにしたワンチップマイクロコンピュ
ータを提供することを目的とするものである。
The present invention was developed in view of the above circumstances, and it is an object of the present invention to provide a one-chip microcomputer that prevents outsiders from decoding the contents of the program even if the contents of the program memory are read. .

〔発明の概要〕[Summary of the invention]

本発明は、プログラムメモリの内容を外部へ出力する際
にプログラムメモリのデータにデータ変換を施した後に
外部へ出力することを特徴とするものである。
The present invention is characterized in that, when outputting the contents of the program memory to the outside, the data in the program memory is subjected to data conversion before being outputted to the outside.

〔発明の実施例〕[Embodiments of the invention]

以下本発明の一実施例を第2図に示すブロック図を参照
して詳細に説明する。なおこの実施例ではマイクロプロ
セッシングユニットに設けられた算術論理演算ユニット
を用いてデータ変換を行なうものを例として説明する。
Hereinafter, one embodiment of the present invention will be described in detail with reference to the block diagram shown in FIG. In this embodiment, an example in which data conversion is performed using an arithmetic and logic unit provided in a microprocessing unit will be described.

図中11はマイクロプロセッシングユニットでプログラ
ムの命令部分を解釈するインストラフに:Iンデコーダ
11A1データを格納するアキュームレータ11B1テ
ンポラリレジスタ11C1これらに格納されたデータの
演算を行なう算術論理演算ユニソ) (ALU:l 1
1 D等を設けている。そして12はプログラムを格納
したプログラムメモリで、たとえばマスクROM等の不
揮発性の読み出し専用メモリである。13はデータの一
時退避、ワークエリア等として用いるRAM・、14は
入出力ポートである。マイクロプロセッシングユニット
11とプログラムメモリl 2 、RAM13および入
出力ポート14との間ではバス15を介してデータの転
送を行なうようにし、かつこれらを図中、破線で囲んで
示すようにワンチップに采積化している。
In the figure, 11 is a microprocessing unit that interprets the instruction part of the program: In-decoder 11A1 Accumulator 11B1 that stores data 11C1 Temporary register 11C1 Arithmetic and logic operation unit that performs operations on the data stored in these units (ALU: l 1
1D etc. are provided. A program memory 12 stores a program, and is, for example, a nonvolatile read-only memory such as a mask ROM. 13 is a RAM used as a temporary data saver, work area, etc., and 14 is an input/output port. Data is transferred between the microprocessing unit 11, the program memory l 2 , the RAM 13, and the input/output port 14 via the bus 15, and these are integrated into one chip as shown surrounded by broken lines in the figure. It is accumulating.

16はコード発生器である。外部からプログラムメモリ
12の内容の読み出しを指示する信号が与えられると、
このコード発生器16に予め設定された暗号化コードを
インストラクションデコーダ1)へ与える。−万人出力
7−ト14を介してプログラムメモリ12の所望のアド
レスに対応するアドレスデータを入力してアドレス指定
を行ない当該アドレスのデータをアキュームレータ11
Bへ取込む。そしてアキュームレータIIBに格納され
たデータに対して上記暗号化コードによって指定される
データ変換を行なう。このデータ変換の手法としては、
マイクロプロセッシングユニット11に固有の命令をマ
イクロプロセッシングユニット11自体のハードウェア
を用いて実行すればよい。このようなデータ変換を行表
える命令で、一般的なマイクロプロセッシングユニット
11がA 偏するものとしては、たとえばデータのビッ
ト位置をずらすシフト命令、データのビット位置を回転
させるローティト命令、データを反転させる補数命令等
がある。なおシフト命令、ローティト命令を実行する場
合は、データの移動方向、移動量を任意に指定すればよ
い。また補数命令を実行する場合は、反転するビット位
置の指定を行なうようにしてもよい。
16 is a code generator. When a signal instructing to read the contents of the program memory 12 is given from the outside,
An encrypted code set in advance in this code generator 16 is given to the instruction decoder 1). Address data corresponding to a desired address of the program memory 12 is inputted via the universal output 7-to 14 to designate the address, and the data at the address is transferred to the accumulator 11.
Import into B. Then, data conversion specified by the encryption code is performed on the data stored in the accumulator IIB. The method for this data conversion is as follows:
Instructions specific to the microprocessing unit 11 may be executed using the hardware of the microprocessing unit 11 itself. Among the instructions that can perform such data conversion, the general microprocessing unit 11 is biased toward A, for example, a shift instruction that shifts the bit position of data, a rotate instruction that rotates the bit position of data, and an inversion instruction that inverts data. There are complement instructions etc. Note that when executing a shift command or a rotate command, the data movement direction and movement amount may be specified arbitrarily. Further, when executing a complement instruction, the bit position to be inverted may be specified.

そしてプログラムメモリ12から読出したデータに対し
てデータ変換を施゛して上記入出力ポート4から出力す
ることができる。
The data read from the program memory 12 can then be converted and output from the input/output port 4.

このようにすれば、出力ポート4から出力されるデータ
はプログラムメモリ12に格納ばれた内容とは異なるた
めにそのプログラムを解読することは不可能になる。
If this is done, the data output from the output port 4 will be different from the contents stored in the program memory 12, making it impossible to decipher the program.

たとえば第3図に示すようにプログラムメモリ12のア
ドレス(N−1)(N) (N+1 )にそれぞれ16
進数でIF、E7.C4とそれぞれ8ビツトのデータが
格納されているとする。
For example, as shown in FIG.
IF, E7 in base numbers. Assume that C4 and 8-bit data are stored respectively.

ここでデータを外部へ出力する際に1ピツト分だけ右へ
ローティトすればそれぞれアドレス(N =1 )、(
N) (N+1 )の値は8F 、F3 。
Here, when outputting data to the outside, if you rotate it to the right by one pit, the addresses (N = 1) and (
N) The value of (N+1) is 8F, F3.

92に変換されて出力される。したがって外部へ出力さ
れるデータからはプログラムメモリ12に格納されたデ
ータの内容は全く知ることができない。
92 and output. Therefore, the contents of the data stored in the program memory 12 cannot be known at all from the data output to the outside.

したがってプログラムメモリ12に格納するプログラム
はプロセッシングユニット1ノに固有のインストラクシ
ョンコードを用いてゾログラムするとと゛ができる。し
だがって、既に開発されたプログラムをそのまま利用す
ることができ、またこれらのプログラムの改良も容易に
行なえる。さらにはプログラムメモリ12としてマスク
ROMを用いるものでは従来、用いられているマスクを
そのまま用いてROMの部分を作成できしかもその内容
を秘匿することができる。
Therefore, the program stored in the program memory 12 can be zologrammed using instruction codes specific to the processing unit 1. Therefore, already developed programs can be used as they are, and these programs can be easily improved. Furthermore, in the case where a mask ROM is used as the program memory 12, the ROM portion can be created using the conventionally used mask as is, and its contents can be kept secret.

すなわち、プログラムメモリ12の内容を外部へ読み出
す際には、コード発生器6から力えられるコードに基づ
いてデータの変換がなされる。このためにデータの変換
手法のわからない部外者は読み出したプログラムを解読
することができず、したがってプログラムの内容を秘匿
することができる。また逆にプログラム変換の手法を知
ることによシ逆の手法で読み出したデータから本来のプ
ログラムを復元することができ、その内容の解析も容易
に行なうことができる。
That is, when reading the contents of the program memory 12 to the outside, the data is converted based on the code input from the code generator 6. For this reason, an outsider who does not know the data conversion method cannot decipher the read program, and therefore the contents of the program can be kept secret. Conversely, by knowing the program conversion method, the original program can be restored from data read using the reverse method, and its contents can be easily analyzed.

なお本発明は上記実施例に限定されるものではなく、上
記実施例では、マイクロゾロセッシングユニット11に
固有のインストラクションコードを用い、そのハードウ
ェアを利用してデータ変換を行なうようにしたが、デー
タ変換を行なう専用のハードウェアを設けるようにして
もよい。またこのようなデータ変換を行なうハードウェ
アは、たとえば特定の入出力ポートからデータを出力す
る場合、当該ポートに設けて、プログラムメモリの内容
を出力する時にのみ動作させるようにすればよい。
Note that the present invention is not limited to the above-mentioned embodiment, and in the above-mentioned embodiment, an instruction code specific to the microzoro processing unit 11 is used and the data conversion is performed using the hardware. Dedicated hardware for data conversion may also be provided. Furthermore, when data is to be output from a specific input/output port, hardware for performing such data conversion may be provided at the port and operated only when outputting the contents of the program memory.

第6図はこのようなワンチップマイクロコンピュータの
一例を示すブロック図で、コード変換を行なう手段を出
力ポートに設けている。すなわち第6図において6はコ
ード変換器で1プログラムメモリ2の内容を外部へ出力
する出力ポートに設け、プログラムメモリの内容にコー
ド変換を施して出力するようにしている。
FIG. 6 is a block diagram showing an example of such a one-chip microcomputer, in which code conversion means is provided at the output port. That is, in FIG. 6, a code converter 6 is provided at an output port for outputting the contents of the program memory 2 to the outside, so that the contents of the program memory are subjected to code conversion and output.

第4図はワンチップマイクロコンピータとして多用され
ている18048(型番、イン′チル社)の内部ブロッ
クを示す図である。このワンチップマイクロコンピュー
タはIKバイトのマスクROM 10 J 、 64バ
イトのRAM z 02および3組の8ビット入出カポ
−) 10 JA 、 103B。
FIG. 4 is a diagram showing the internal block of 18048 (model number, In'chill Co., Ltd.), which is widely used as a one-chip microcomputer. This one-chip microcomputer has an IK-byte mask ROM 10J, a 64-byte RAM z02, and three sets of 8-bit input/output capacitors (10JA, 103B).

103Cを有し、かつインストラクションデコーダ10
4に、テンポラリレジスタ104B+アキユームレータ
104C,算術論理演算ユニット104D等からなるマ
イクロゾロセツシングユニット104を内部バス105
によって相互に接続し、これらをワンチップに集積化し
たものである。
103C and an instruction decoder 10
4, a micro processing unit 104 consisting of a temporary register 104B + an accumulator 104C, an arithmetic logic unit 104D, etc. is connected to an internal bus 105.
These are interconnected and integrated into a single chip.

そしてプログラムメモリとして使用されるマスクROM
 J 01の内容を読み出す場合は、制御及びタイミン
グ回路106の外部アドレスセレクト端子FAへ+12
Vを印加し、かつデータバスDBII)〜DB7および
入出力ポート103cの下位2ピツトからアドレスデー
タを与えることによシ、当該アドレスに対応するマスク
ROM101の内容をデータバスDBO〜DB7を介し
て出力するようにしている。
and mask ROM used as program memory
To read the contents of J01, connect +12 to the external address select terminal FA of the control and timing circuit 106.
By applying V and giving address data from the data buses DBII) to DB7 and the lower two pits of the input/output port 103c, the contents of the mask ROM 101 corresponding to the address are outputted via the data buses DBO to DB7. I try to do that.

しかしてこのワンチッゾマイクロプロセッサに対して本
発明を応用する場合、たとえば第5図に示すブロック図
のようにパス105とインストラクションデコーダ10
4との間にコード発生器107を設ける。そして外部ア
ドレスセレクト端子EAに対するマスクROM 10 
Jの内容の読み出しの指示によシマスフROM 101
から読み出したデータをコード発生器107から与えら
れるコードによって指示されるコード変換を行ないデー
タバスDBO〜DB7から出力するようにしている。す
なわち、上記コード発生f51oyからl′ii 80
48のインストラクションコードによって予め定められ
たコードを出力してインストラクションデコーダ104
にへ与えてデータ変換を行なう。したがってデータ変換
は、18048に固有のハードウェアを用いて通常のプ
ログラムの実行と同様に行なうことができハードウェア
の改良はコード発生器107た関′する部分だけでよく
極めて容易に実施することができる。
However, when the present invention is applied to this Wanchizo microprocessor, for example, as shown in the block diagram of FIG.
A code generator 107 is provided between the code generator 4 and the code generator 107. And mask ROM 10 for external address select terminal EA.
According to the instruction to read the contents of J, the programmable ROM 101
The data read from the code generator 107 undergoes code conversion as instructed by the code given from the code generator 107, and is output from the data buses DBO to DB7. That is, from the above code generation f51oy to l'ii 80
The instruction decoder 104 outputs a predetermined code according to the instruction code 48.
data conversion. Therefore, data conversion can be performed in the same way as normal program execution using hardware specific to the 18048, and hardware improvements can be made only in areas related to the code generator 107, making it extremely easy to implement. can.

〔発明の効果〕〔Effect of the invention〕

以上のように本発明はプログラムメモリの内容をデータ
変換を施して外部へ出力するようにしたのでプログラム
を解読されることがなく、しかもデータ変換を逆に行な
うことにより本来のプログラムを容易に復元できゾログ
ラムメモリの内容の一般性も損なわれず、さらにはノ・
−ドウエアの追加部分も少ないワンチップマイクロコン
ピュータを提供することができる。
As described above, the present invention performs data conversion on the contents of the program memory and outputs the data to the outside, so that the program cannot be decoded, and furthermore, by performing data conversion in reverse, the original program can be easily restored. The generality of the contents of the zologram memory is not compromised, and the
- It is possible to provide a one-chip microcomputer with few additional hardware parts.

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

第1図は従来のワンチップマイクロコンピュータの一例
を示すブロック図、第2図は本発明の一実施例を示すブ
ロック図、第3図は上記実施例におけるデータ変換の一
例を説明する図、第4図は18048型ワンチツプマイ
クロコンビー−タを示すブロック図、第5図は、+80
48型ワンチツプマイクロコンピユータに本発明を応用
した例を示すブロック図、第6図は本発明のさらに他の
実施例を示すブロック図である。 11・・・マイクログロセツシングユニット、12・・
・プログラムメモリ、13・・・RAM、14・・・入
出力J?−ト、15・・・バス、16・・・コード発生
器。 出願人代理人 弁理士 鈴 江 武 彦第3図 デ・−夕 亥 模テ−タ 特許庁長官 若 杉 和 天 殿 i、事件の表示 特願昭58−191915号 2、発明の名称 ワンチップマイクロコンピュータ 3、補正をする者 4f件との関係 特許出願人 (307) 東京芝浦電気株式会社 4、代理人 5、自発補正 (1) 明細書第13頁第2行目「る。」と同頁第3行
目「なお本発明」との間に下記を挿入する。 記 そしてプログラムメモリ12とコード発生器16の暗号
化コードを同一工程で製造することかでさる。このよう
にすれば暗号化コードを製造するために工程が増加する
こともなく、またプログラムメモリ12の内容毎に暗号
化コードを設定できるので合理的である。 (2) 同書第16頁第2行目「ことができる。」の後
に下記を加入する。 記 なお、予め定めたプログラムを格納1−るマスクROM
101の製造工程で、同時にコード発生器1θ6の暗号
化コードを製造すれば、暗号化コードを製造するために
格別の工程を設ける必要もなく、かつマスクROMl0
Iの内容毎に異なる暗号化コードの設定を容易に行なう
ことができる。
FIG. 1 is a block diagram showing an example of a conventional one-chip microcomputer, FIG. 2 is a block diagram showing an embodiment of the present invention, FIG. 3 is a diagram explaining an example of data conversion in the above embodiment, and FIG. Figure 4 is a block diagram showing the 18048 type one-chip micro converter, and Figure 5 is the +80 type.
FIG. 6 is a block diagram showing an example in which the present invention is applied to a 48-inch one-chip microcomputer, and FIG. 6 is a block diagram showing still another embodiment of the present invention. 11...Microgrossing unit, 12...
・Program memory, 13...RAM, 14...I/O J? -t, 15...bus, 16...code generator. Applicant's agent: Takehiko Suzue, Patent attorney, Figure 3: De-Yu, Mota, Director of the Patent Office, Kazuten Wakasugi, Indication of the case, Patent Application No. 191915-1982, Name of the invention: One-chip micro Relationship between computer 3 and person making amendment 4f Patent applicant (307) Tokyo Shibaura Electric Co., Ltd. 4, agent 5, voluntary amendment (1) Same page as "ru." on page 13, line 2 of the specification Insert the following between the third line and "This invention". Furthermore, the encryption code for the program memory 12 and the code generator 16 can be manufactured in the same process. In this way, the number of steps for manufacturing the encrypted code will not be increased, and the encrypted code can be set for each content of the program memory 12, which is reasonable. (2) Add the following to the second line of page 16 of the same book, after "It can be done." Note that a mask ROM containing a predetermined program is used.
If the encryption code of the code generator 1θ6 is simultaneously manufactured in the manufacturing process of 101, there is no need to provide a special process for manufacturing the encryption code, and the mask ROM 10
A different encryption code can be easily set for each content of I.

Claims (1)

【特許請求の範囲】 (1) プログラムを格納したプログラムメモリと、こ
のプログラムメモリから読み出したプログラムを実行す
るマイクロプロセッシングユニットト、このマイクロプ
ロセッシングユニットで演算するデータを外部に対して
入力または出力する入出力ポートと、上記プログラムメ
モリの内容を外部へ出力する際にコード変換を行なう手
段とを具備することを特徴とするワンチップマイクロコ
ンピュータ。 Q)特許請求の範囲第1項記載のものにおいて、コード
変換を行なう手段をプログラムメそすの内容を出力する
出力ポートに設けたことを特徴とするワンチップマイク
ロコンビーータ。 (3) プログラムを格納したプログラムメモリと、こ
のプログラムメモリから読み出したプログラムを実行す
るとともにこのプログラムメそすの内容を外部へ出力す
る際にコード変換するマイクロプロセッシングユニット
と、このマイクロプロセッシングユニットで演算するデ
ータを外部に対して入力または出力する入出力ポートと
を具備するワンチップマイクロコンビーータ。 (4)%許請求の範囲第3項記載のものにおいて、マイ
クロプロセッシングユニットにおけるデータ変換は予め
暗号コードとしてJiえしれるインストラクションコー
ドによシマイクロプロセッシングユニット固有のハード
ウェアで行なうことを特徴とするワンチップマイクロコ
ン乙−タ。 (5)特許請求の範囲第4項記載のものにおいて、暗号
コードはプログラムメモリと同一工程で設けたことを特
徴とするワンチップマイクロコンピュータ。 (6)特許請求の範囲第4項記載のものにおいて、デー
タ変換はプログラムメモリから読出したデータを予め定
めた値だけローティトすることを特徴とするマイクロプ
ロセッシングユニット。 (7)特許請求の範囲第4項記載のものにおいて、デー
タ変換はプログラムメモリから読出したデータの予め定
めたビットを反転することを特徴とするマイクロプロセ
ッシングユニット。
[Scope of Claims] (1) A program memory that stores a program, a microprocessing unit that executes the program read from the program memory, and an input that inputs or outputs data operated by the microprocessing unit to the outside. A one-chip microcomputer comprising an output port and means for converting codes when outputting the contents of the program memory to the outside. Q) A one-chip microconverter according to claim 1, characterized in that code conversion means is provided at an output port for outputting the contents of a program. (3) A program memory that stores a program, a microprocessing unit that executes the program read from this program memory and converts the code when outputting the contents of this program to the outside, and operations performed by this microprocessing unit. A one-chip microconbeater equipped with an input/output port for inputting or outputting data to the outside. (4) Permissible scope of claim 3, characterized in that the data conversion in the microprocessing unit is performed by hardware specific to the microprocessing unit using an instruction code that is preprogrammed as an encryption code. One-chip microcontroller. (5) A one-chip microcomputer according to claim 4, characterized in that the encryption code is provided in the same process as the program memory. (6) The microprocessing unit according to claim 4, wherein the data conversion involves rotating data read from the program memory by a predetermined value. (7) The microprocessing unit according to claim 4, wherein the data conversion involves inverting predetermined bits of data read from the program memory.
JP58191915A 1983-10-14 1983-10-14 One chip microcomputer Pending JPS6083157A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58191915A JPS6083157A (en) 1983-10-14 1983-10-14 One chip microcomputer
EP84110235A EP0137995B1 (en) 1983-10-14 1984-08-28 Single-chip microcomputer with encryptable function on program memory
DE8484110235T DE3483410D1 (en) 1983-10-14 1984-08-28 ONE-CHIP MICROCOMPUTER WITH LOCKABLE FUNCTION OF THE PROGRAM MEMORY.
US06/646,114 US4764959A (en) 1983-10-14 1984-08-31 Single-chip microcomputer with encryptable function on program memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58191915A JPS6083157A (en) 1983-10-14 1983-10-14 One chip microcomputer

Publications (1)

Publication Number Publication Date
JPS6083157A true JPS6083157A (en) 1985-05-11

Family

ID=16282557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58191915A Pending JPS6083157A (en) 1983-10-14 1983-10-14 One chip microcomputer

Country Status (1)

Country Link
JP (1) JPS6083157A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251841A (en) * 1986-04-23 1987-11-02 Nec Corp Single chip microcomputer
JPS6358538A (en) * 1986-08-29 1988-03-14 Hitachi Ltd Software protecting system
JPH04128008U (en) * 1991-05-10 1992-11-20 株式会社カンセイ Cold protection sheet for electric propulsion vehicle
KR100326402B1 (en) * 1996-09-03 2002-05-10 가부시끼가이샤 히다찌 가조 죠호 시스템 Program writable ic card and method thereof
US6938165B2 (en) * 1996-09-03 2005-08-30 Hitachi, Ltd. Program writable IC card and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55151683A (en) * 1979-05-14 1980-11-26 Nippon Electric Co Integrated circuit unit controlling system
JPS5744299A (en) * 1980-08-26 1982-03-12 Mitsubishi Electric Corp Memory device
JPS5897200A (en) * 1981-12-07 1983-06-09 Nec Corp Information processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55151683A (en) * 1979-05-14 1980-11-26 Nippon Electric Co Integrated circuit unit controlling system
JPS5744299A (en) * 1980-08-26 1982-03-12 Mitsubishi Electric Corp Memory device
JPS5897200A (en) * 1981-12-07 1983-06-09 Nec Corp Information processor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251841A (en) * 1986-04-23 1987-11-02 Nec Corp Single chip microcomputer
JPS6358538A (en) * 1986-08-29 1988-03-14 Hitachi Ltd Software protecting system
JPH04128008U (en) * 1991-05-10 1992-11-20 株式会社カンセイ Cold protection sheet for electric propulsion vehicle
KR100326402B1 (en) * 1996-09-03 2002-05-10 가부시끼가이샤 히다찌 가조 죠호 시스템 Program writable ic card and method thereof
US6732272B1 (en) 1996-09-03 2004-05-04 Hitachi, Ltd. Program writable integrated circuit card and method therefore
US6938165B2 (en) * 1996-09-03 2005-08-30 Hitachi, Ltd. Program writable IC card and method thereof
US7278029B2 (en) 1996-09-03 2007-10-02 Hitachi, Ltd. Program writable IC card and method thereof

Similar Documents

Publication Publication Date Title
EP0137995B1 (en) Single-chip microcomputer with encryptable function on program memory
JPS6133546A (en) Information processor
JPS58116571A (en) Instruction coding method for microcomputer and microcomputer used for execution thereof
JPS6242444A (en) Semiconductor memory
JPH11509950A (en) Microcontroller having an N-bit data bus width with less than N I / O pins and method therefor
JPS6083157A (en) One chip microcomputer
TW422947B (en) Microcomputer having reset control function
JP2004252702A (en) Method for accessing iic device of control circuit having iic bus
JPS6029980B2 (en) One-chip microcomputer with test mode setting function
JP2806075B2 (en) Microcomputer
JPS58168149A (en) Extended logic decoding circuit
JP3705255B2 (en) Semiconductor device and in-circuit emulator using the same
JPS6083158A (en) One chip microcomputer
JP2624249B2 (en) Processor with imitation prevention function
JP2702277B2 (en) Microcomputer with built-in PROM
JP2754786B2 (en) Information processing device
JPS60237503A (en) High-speed processing system of sequence controller
JPH0827741B2 (en) Single-chip microcomputer
JP2777133B2 (en) Central processing unit
JPS642177Y2 (en)
JPH03263147A (en) Semiconductor integrated circuit device
JPS5839322A (en) Data processor
JPH01213731A (en) Rom control system
JPS62295112A (en) Composite controller
JPH05334234A (en) High speed dma transferring device