JP2000056966A - マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法 - Google Patents

マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法

Info

Publication number
JP2000056966A
JP2000056966A JP10236425A JP23642598A JP2000056966A JP 2000056966 A JP2000056966 A JP 2000056966A JP 10236425 A JP10236425 A JP 10236425A JP 23642598 A JP23642598 A JP 23642598A JP 2000056966 A JP2000056966 A JP 2000056966A
Authority
JP
Japan
Prior art keywords
address
microprocessor
memory
output
micro processor
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
JP10236425A
Other languages
English (en)
Inventor
Masami Urano
正美 浦野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10236425A priority Critical patent/JP2000056966A/ja
Priority to EP98310514A priority patent/EP0929040A3/en
Priority to US09/219,953 priority patent/US6526511B1/en
Publication of JP2000056966A publication Critical patent/JP2000056966A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 メモリの内容を読みとられた場合でも、プロ
グラムの解析が困難であり、したがって、マイクロプロ
セッサの動作の解析が困難であるマイクロプロセッサシ
ステムおよびマイクロプロセッサ動作解析防止方法を提
供することを目的とするものである。 【解決手段】 マイクロプロセッサと、上記マイクロプ
ロセッサで実行可能なプログラム、データのうちの少な
くとも一方を保存するメモリと、上記マイクロプロセッ
サと上記メモリとを接続するアドレスバスおよびデータ
バスとによって構成されているシステムにおいて、上記
マイクロプロセッサの内部で発生されたアドレスを所定
の規則で変換し、この変換されたアドレスを上記メモリ
に送るものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ICカード等に用
いるマイクロプロセッサシステムおよびマイクロプロセ
ッサ動作解析防止方法に関するものである。
【0002】
【従来の技術】図7は、従来のマイクロプロセッサMP
Uの構成を示すブロック図である。
【0003】従来のマイクロプロセッサMPUは、電子
情報通信学会編「ULSI設計技術」の第115頁、図
4.2に示されているものである。
【0004】マイクロプロセッサMPUは、算術論理ユ
ニット(ALU)11と、汎用レジスタ12と、プログ
ラムカウンタ13と、命令レジスタ14と、バスインタ
フェース15とを具備するデータパス部10と、命令デ
コーダ21と、マイクロプログラム制御回路22とを具
備する制御部20とによって構成されている。
【0005】また、マイクロプロセッサMPUと外部の
RAM、ROM等のメモリ30とは、インタフェース回
路15、外部のアドレスバス、データバスを介して接続
されている。
【0006】図8は、上記従来例において、メモリ30
が格納しているプログラムの例を示す図である。
【0007】0000〜0007は、メモリ30のアド
レスであり、op1〜op8は、メモリ30の各番地に
格納されているプログラムの命令コードである。図8で
は0007までを例示してあるが、それ以後の番地にも
上記と同様にプログラムの命令コードが格納されてい
る。
【0008】従来のマイクロプロセッサMPUでは、ま
ず、プログラムカウンタ13に設定された値を、バスイ
ンタフェース15を介して、外部のアドレスバスに出力
する。ROM等のメモリ30は、アドレスバスに出力さ
れたアドレスに対応する内容をデータバスに出力する。
データバスに出力されたデータは、バスインタフェース
15を介してマイクロプロセッサMPUの内部バスに再
度出力され、命令レジスタ14にラッチされる。命令レ
ジスタ14にラッチされた命令コードは、制御部20の
命令デコーダ21によってデコードされ、マイクロプロ
グラム制御回路22に渡され、マイクロプログラムから
各種制御信号が生成され、命令を実行する。プログラム
カウンタ13に設定されたアドレスの命令が実行される
と、通常の命令では、次に、プログラムカウンタ13に
1が加算されることによって、次のアドレスの内容がメ
モリ30から読み出される。そして、上記一連の動作が
繰り返される。
【0009】通常、プログラムカウンタ13は、レジス
タとインクリメンタ(+1)とによって構成され、上記
レジスタに所定の値が設定されると、次のクロックによ
って、その値に1加算された値がレジスタに再び設定さ
れる。そして、これらの動作を順次繰り返している。す
なわち、初期値として0が設定されると、通常の命令で
は、この値が1づつ加算されていく。マイクロプロセッ
サMPUが動作を開始すると、通常、プログラムカウン
タ13に0が設定され、この値をアドレスとして、メモ
リ30の0番地の内容op1が読み出され実行される。
次に、プログラムカウンタ13の値に1が加算され、メ
モリ30の1番地の内容op2が読み出され実行され
る。以後、順番にop3、op4、op5、op6、o
p7、op8が読み出され、それぞれが実行される。こ
れ以後も、上記と同様の処理が繰り返される。
【0010】上記のように、従来のマイクロプロセッサ
MPUでは、データバスを介して、メモリ30の内容を
順次読み出し、その値をマイクロプロセッサMPUの内
部で解釈し、そのデータに対応する命令を順次実行す
る。プログラム自体は、メモリ30上に実行の順番に格
納されている。また、各番地には、プログラムの各ステ
ップの命令コードが順番に格納されている。
【0011】
【発明が解決しようとする課題】ところで、近年ICカ
ードの応用分野が拡大しつつあり、これにつれてICカ
ードのセキュリティの問題が重視されるようになってき
た。ICカード内に納められている機密情報を解読しよ
うとする場合、マイクロプロセッサの論理回路、プログ
ラムを容易に解読することができると、この解読された
情報に基づいて、マイクロプロセッサの内部を解析し、
機密情報が解読される可能性がある。
【0012】従来のマイクロプロセッサMPUにおい
て、プログラムがメモリ30上に格納されている場合、
該当するメモリセルのデータを読み取ると、プログラム
が容易に解読される可能性がある。
【0013】また、上記のように、プログラムは、メモ
リ30からデータバスを介してマイクロプロセッサMP
Uに送られる。この場合、メモリ30のデータを解析し
なくても、データバスを観測することによって、プログ
ラムを読み取ることができ、これに基づいて、マイクロ
プロセッサMPUの動作を容易に解析される可能性があ
る。
【0014】本発明は、メモリの内容を読みとられた場
合でも、プログラムの解析が困難であり、したがって、
マイクロプロセッサの動作の解析が困難であるマイクロ
プロセッサシステムおよびマイクロプロセッサ動作解析
防止方法を提供することを目的とするものである。
【0015】
【課題を解決するための手段】本発明は、マイクロプロ
セッサと、上記マイクロプロセッサで実行可能なプログ
ラム、データのうちの少なくとも一方を保存するメモリ
と、上記マイクロプロセッサと上記メモリとを接続する
アドレスバスおよびデータバスとによって構成されてい
るシステムにおいて、上記マイクロプロセッサの内部で
発生されたアドレスを所定の規則で変換し、この変換さ
れたアドレスを上記メモリに送るものである。
【0016】
【発明の実施の形態および実施例】図1は、本発明の一
実施例であるマイクロプロセッサMPU1 とメモリ30
1とを示すブロック図である。
【0017】マイクロプロセッサMPU1 は、基本的に
は、従来のマイクロプロセッサMPUと同じものである
が、プログラムカウンタ13が出力するアドレスを変換
するアドレス変換ブロック16が設けられている点が従
来のマイクロプロセッサMPUとは異なる点であり、ま
た、メモリ30の代わりに、メモリ301 が設けられて
いる。
【0018】メモリ301 は、ROM、RAM、EEP
ROM等で構成されている。
【0019】図2は、上記実施例におけるアドレス変換
ブロック16の入出力関係の一例を示す図である。アド
レス変換ブロック16は、アドレス変換用メモリで構成
され、このアドレス変換用メモリは、入力されたアドレ
スの指定する番地に、変換されたアドレスが格納されて
いるメモリである。
【0020】すなわち、図2において、アドレス0番地
に0000が格納され、アドレス1番地にE5D7が格
納され、アドレス2番地に958A、以後、それぞれの
番地に変換後のアドレスが格納されているので、0番地
のアドレスが入力されると0000が出力され、1番地
のアドレスが入力されるとE5D7が出力され、2番地
のアドレスが入力されると958Aが出力される。ここ
では、格納されたデータの一例を示してあり、これらの
変換後のアドレス(データ)を任意に決定してもよい
が、同一の変換後のアドレス(データ)を異った番地に
格納することはできない。すなわち、各番地に格納され
ている値(変換後のアドレス)は、必ず他の番地に格納
されている値(変換後のアドレス)と異っている必要が
ある。
【0021】図3は、上記実施例において、メモリ30
1 が格納しているプログラムの一部を示す図である。
【0022】上記アドレス変換ブロック16によって、
プログラムカウンタ13が出力した0番地は0000番
地へ変換され、プログラムカウンタ13が出力した1番
地はE5D7番地へ変換され、プログラムカウンタ13
が出力した2番地は958A番地へ変換される。したが
って、プログラムメモリ301 には、アドレス変換ブロ
ック16が出力した第2のアドレス(変換後のアドレ
ス)の出力順に、命令コードを割り当て、この割り当て
られた命令コードを第2のアドレス(変換後のアドレ
ス)とともに書き込む。すなわち、第2のアドレスのう
ちの0番地に最初の命令コードop0を書き込み、第2
のアドレスのうちのE5D7番地に2番目の命令コード
op1を書き込み、第2のアドレスのうちの958A番
地に3番目の命令コードop2を書き込む。
【0023】次に、上記実施例の動作について説明す
る。
【0024】まず、マイクロプロセッサMPU1 におい
て、アドレス変換ブロック16が図2に示すようにアド
レス変換し、メモリ(RAM/ROM)301 の内容が
図3に示す内容であるとする。
【0025】そして、マイクロプロセッサMPU1 にリ
セットがかかると、プログラムカウンタ13に0000
が設定され、バスインタフェース15を介してアドレス
変換ブロック16に上記0000が入力される。アドレ
ス変換ブロック16では、入力されたアドレス0000
に応じて、第2のアドレス(変換後のアドレス)000
0を出力し、この第2のアドレス0000をアドレスバ
スに出力する。
【0026】次に、上記第2のアドレス0000をアド
レスとしてメモリ301 をアクセスし、その内容op0
を、データバスを介して命令レジスタ14に取り込み、
この取り込まれた命令を実行する。次に、プログラムカ
ウンタ13の値に1を加算し、第1のアドレス0001
を出力すると、アドレス変換ブロック16が、第1のア
ドレス0001を第2のアドレスE5D7に変換する。
【0027】そして、この第2のアドレスE5D7をア
ドレスバスに出力し、その内容op1をメモリ301
ら読み出し、実行する。上記と同様にし、プログラムカ
ウンタ13の値を1増やすと、このときの第1のアドレ
ス0002は、第2のアドレス958Aに変換されるの
で、メモリ301 の958A番地の内容op2が読み出
され、実行される。
【0028】上記のようにアドレスを変換することによ
って、従来例と同等の機能を実現しながら、しかも、メ
モリ301 の内容を0番地から順に解読されたとして
も、0番地から順に解読されたメモリ301 の内容の順
序は、実際の実行順とは異なる順序であるので、解読さ
れたメモリ301 の内容を解析することはできない。
【0029】また、上記アドレス変換用メモリにおける
アドレス変換テーブルの内容を任意に書き換えるように
してもよく、これによって、同じアドレスを異ったアド
レスに変換するようにしてもよい。上記アドレス変換用
メモリにおける0番地の内容を、たとえば1A3Dとす
れば、アドレス0が入力されたときに、第2のアドレス
1A3Dを出力する。この場合、メモリ301 の1A3
D番地にop0を格納することによって、上記と同様の
機能を実現できることができる。
【0030】つまり、アドレス変換ブロック16として
の上記変換用メモリは、第1のアドレスと第2のアドレ
スとが対応して格納されているメモリの例である。
【0031】なお、アドレス変換テーブルの各番地に、
入力された第1のアドレスと同じアドレスを、第2のア
ドレスとして書き込むと、0番地は0番地、1番地は1
番地のように、入力アドレスと出力アドレスとが同じ値
になり、この場合、従来例と同様にプログラムを格納す
れば、同様の機能を実現することができる。
【0032】図4は、上記実施例におけるアドレス変換
ブロック16とは別のアドレス変換ブロック16aの構
成を示す図である。
【0033】アドレス変換手段16aは、第1のアドレ
ス(A15〜A0)を選択信号とし、上記第2のアドレ
ス(変換後のアドレスとして出力すべきアドレスAOU
T15〜AOUT0)に応じて入力値が設定されている
セレクタ回路の集合であり、アドレス変換ブロック16
aは、上記第2のアドレスのビット0のみを出力する回
路である。
【0034】なお、上記第2のアドレスのビット15〜
1を出力するアドレス変換ブロックは、アドレス変換ブ
ロック16aと同様なセレクタの集合であるアドレス変
換ブロック16p、16o、…、16c、16bであ
り、これらのアドレス変換ブロック16a〜16pのそ
れぞれにおける互いの相異点は、最下層のセレクタ群S
L1〜SL8に入力される入力値(「1」または「0」
の値)の設定の仕方のみである。
【0035】また、アドレス変換ブロック16a〜16
pの全てを用いることによって、全ビットについて第1
のアドレスから第2のアドレスに変換することができる
ので、アドレス変換ブロック16a〜16pを総合した
ものは、図2に示すアドレス変換ブロック16と同等の
機能を実現することができる。
【0036】アドレス変換手段16aは、セレクタSL
1、SL2、〜、SL15を使用して構成した例であ
り、その一部を省略して示したものである。また、アド
レス変換手段16aは、8段の階層構造を構成を有す
る。
【0037】さらに、セレクタセレクタSL1、SL
2、〜、SL15のそれぞれには、プログラムカウンタ
13が出力した16ビットのアドレスA0〜A15のう
ちの2ビットが選択信号として印加されている。つま
り、8段の階層構造のうちの最下層のセレクタ群SL1
〜SL8には、アドレスA0、A1の2ビットが選択信
号として印加され、8段の階層構造のうちの最下層から
1層上のセレクタ群SL9〜SL10には、アドレスA
2、A3の2ビットが選択信号として印加され、……、
8段の階層構造のうちの最上層のセレクタ群SL15に
は、アドレスA14、A15の2ビットが選択信号とし
て印加されている。
【0038】図5は、図4に示すセレクタSL1〜SL
3に入力される入力信号の決定の仕方を説明する図であ
る。
【0039】まず、プログラムカウンタ13が出力した
第1のアドレスのうちの初めの4つのアドレスは、「0
000」、「0001」、「0002」、「0003」
であり、これらに対応し、アドレス変換ブロックが出力
しようとする第2のアドレスは、それぞれ、「000
0」、「E5D7」、「958A」、「7DEF」であ
るとする。そして、上記第2のアドレスを2進数で表し
たときの各最下位の数値は、「0」、「1」、「0」、
「1」である。
【0040】したがって、第2のアドレスの最下位ビッ
トは、第1のアドレスが「0000」であるときに
「0」であり、「0001」であるときに「1」であ
り、「0002」であるときに「0」であり、「000
3」であるときに「1」である。この場合、第1のアド
レスのビット2(A2)からビット15(A15)まで
は全て「0」であるので、セレクタSL1の4つの入力
が、第1のアドレスのビット1(A1)とビット0(A
0)とに応じて選択され、出力される。
【0041】そして、セレクタSL1の入力信号を決め
る場合、次のようにする。つまり、上記4つの2進数の
LSBを並べると、第1のアドレスの下位2ビット(A
1、A0)が「00」であるときに「0」を出力し、
「01」であるときに「1」を出力し、「10」である
ときに「0」を出力し、「11」であるときに「0」を
出力すればよいので、セレクタSL1の入力を「010
1」に設定することによって、入力信号を決定すること
ができる。
【0042】また、第1のアドレスのうち、「000
4」、「0005」、「0006」、「0007」は、
それぞれ、アドレスA3、A2が「01」であるので、
セレクタSL2の入力を「0001」に設定することに
よって、SL2の入力信号を決定することができる。上
記と同様にして、第2のアドレスのビット0(AOUT
0)を出力するために必要な各セレクタの入力信号を決
定することができる。
【0043】さらに、第2のアドレスのビット1(AO
UT1)を決めるには、以下のようにする。
【0044】図4に示すアドレス変換ブロック16aと
同じアドレス変換ブロック(アドレス変換ブロック16
b)を、アドレス変換ブロック16aとは別に設ける。
この場合、上記第2のアドレス変換ブロックが出力しよ
うとする上記第2のアドレスは、それぞれ、「000
0」、「E5D7」、「958A」、「7DEF」であ
り、これらを2進数に変換した場合の下位から2ビット
目は、それぞれ「0」、「1」、「1」、「1」であ
る。
【0045】したがって、アドレス変換ブロック16b
におけるセレクタSL1の入力は、上から順に「011
1」になる。上記と同様に、セレクタSL2の入力は
「0010」になる。同様に、第2のアドレスの3ビッ
ト目から16ビット目についても、各ビット毎に、図4
に示すアドレス変換ブロック16aと同じアドレス変換
ブロック16b〜16pを設け、上記の手順で入力信号
を決定することによって、図2に示すアドレス変換ブロ
ック16と同様のアドレス変換ブロックを実現すること
ができる。
【0046】つまり、図4に示すアドレス変換ブロック
16aと同じアドレス変換ブロックを、14個設け(ア
ドレス変換ブロック16c〜16pを設け)、アドレス
変換ブロック16c〜16pのそれぞれについて、アド
レス変換ブロック16bにおける上記入力信号の決定方
法と同様の方法で入力信号を決定する。
【0047】上記のようにすることによって、図4に示
すアドレス変換ブロック16a〜16pの入力信号が決
定される。
【0048】図6は、上記実施例において、セレクタS
Lの機能を示す図である。
【0049】セレクタSLは、セレクタSL1〜SL1
5を代表するセレクタであり、図6(1)に示すよう
に、入力信号D0、D1、D2、D3を入力し、選択信
号S0、S1が印加されている。セレクタSLがセレク
タSL1であれば、入力信号D0、D1、D2、D3と
して入力信号「0101」を入力し、選択信号S0、S
1として、第1のアドレスの下位2ビットA0、A1が
印加されている。
【0050】また、図6(2)に示すように、選択信号
S0、S1の組み合わせに応じて、入力信号D0、D
1、D2、D3のいずれかが、セレクタSLの出力信号
Yとして出力される。
【0051】図6(2)に示す場合、選択信号S0、S
1がそれぞれ「0、0」であればD0が出力され、
「0、1」であればD1が出力され、「1、0」であれ
ばD2が出力され、「1、1」であればD3が出力され
る。このようなセレクタSLが、図4に示すように、ツ
リー状に接続され、第1のアドレス信号が選択信号とし
て入力されている。
【0052】アドレス変換ブロック16aにおいて、ア
ドレスA15〜A0の全てが0である場合、セレクタS
L1の一番上の入力信号が、出力端子AOUT0に出力
される。また、アドレスA0のみが1である場合に、上
から2番目の入力信号が選択され、アドレスA1のみが
1である場合に、上から3番目の入力信号が選択され、
アドレスA0、A1のみが1である場合に、上から4番
目の入力信号が選択されるので、セレクタSL1の入力
信号として、「0、1、0、1」を入力しておくことに
よって、アドレス変換ブロック16aに「0、1、0、
1」を出力させることができる。
【0053】上記と同様に、セレクタをツリー上に接続
し、所定の信号を入力することによって、アドレスの他
のビットを生成する生成回路を、上記と同様に構成する
ことができる。
【0054】つまり、アドレス変換ブロック16aは、
第1のアドレスを選択信号とし、第2のアドレスに応じ
て入力値が設定されているセレクタの集合の例である。
【0055】また、アドレス変換ブロック16aでは、
アドレスのMSB側を出力側に印加し、LSB側を信号
入力側に印加しているが、アドレスの入力の順番を変え
た場合、セレクタの入力信号として、所定の信号を入力
させれば、上記と同様の機能を実現することができる。
【0056】さらに、アドレス変換ブロック16aで
は、4入力1出力のセレクタを用いているが、2、8、
16入力等の他のセレクタを用いてもよい。
【0057】また、アドレスを入力し、変換後のアドレ
スを出力する論理回路としてアドレス変換ブロック16
aが使用されていることを考えれば、セレクタ以外の論
理ゲートを用いても、アドレス変換ブロック16aと同
等の機能を達成させることができる。
【0058】つまり、上記のようにセレクタ以外の論理
ゲートを用いて構成されたアドレス変換ブロックは、第
1のアドレスを入力し、第2のアドレスを出力する論理
回路の例である。
【0059】上記実施例によれば、メモリ301 に入力
されるアドレスは、マイクロプロセッサMPU1 の内部
で発生されたアドレスが所定の規則で変換されたアドレ
スであり、この変換されたアドレスの順番にプログラム
の命令コードが格納されているので、たとえメモリ30
1 に格納されているデータ等が、アドレス順に第三者に
読み取られたとしても、アドレスの変換規則を知らなけ
れば、読み取った命令列を正しい命令列に復元すること
ができず、マイクロプロセッサMPU1 の動作が解析さ
れることは困難である。
【0060】
【発明の効果】本発明によれば、メモリの内容を第三者
に順番に読み取られたとしても、この読み取られた命令
コードは本来の実行順とは異っているので、その動作を
第三者が解析することは困難であり、ICカード等のマ
イクロプロセッサのセキュリティを向上されることがで
きるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例であるマイクロプロセッサM
PU1 とメモリ301 とを示すブロック図である。
【図2】上記実施例におけるアドレス変換ブロック16
としてのアドレス変換用メモリの入出力関係の一例を示
す図である。
【図3】上記実施例において、メモリ301 が格納して
いるプログラムの一部を示す図である。
【図4】上記実施例におけるアドレス変換ブロック16
とは別のアドレス変換ブロック16aの構成を示す図で
ある。
【図5】図5は、図4に示すセレクタSL1に入力され
る入力信号の決定の仕方を説明する図である。
【図6】上記実施例において、セレクタSLの機能を示
す図である。
【図7】従来のマイクロプロセッサMPUの構成を示す
ブロック図である。
【図8】上記従来例において、メモリ30が格納してい
るプログラムの例を示す図である。
【符号の説明】
MPU1 …マイクロプロセッサ、 13…プログラムカウンタ、 16、16a…アドレス変換ブロック、 SL、SL1〜SL15…セレクタ、 301 …メモリ。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサと、上記マイクロプ
    ロセッサで実行可能なプログラム、データのうちの少な
    くとも一方を保存するメモリと、上記マイクロプロセッ
    サと上記メモリとを接続するアドレスバスおよびデータ
    バスとによって構成されているマイクロプロセッサシス
    テムにおいて、 上記マイクロプロセッサの内部で発生されたアドレスを
    所定の規則で変換し、この変換されたアドレスを上記メ
    モリに送ることを特徴とするマイクロプロセッサ動作解
    析防止方法。
  2. 【請求項2】 第1のアドレスを発生するプログラムカ
    ウンタと;上記プログラムカウンタで発生された上記第
    1のアドレスを、所定の規則によって、第2のアドレス
    に変換するアドレス変換手段と;を有することを特徴と
    するマイクロプロセッサ。
  3. 【請求項3】 請求項2において、 上記アドレス変換手段は、上記第1のアドレスと上記第
    2のアドレスとを、1:1で対応させ、上記第1のアド
    レスを上記第2のアドレスに変換する手段であることを
    特徴とするマイクロプロセッサ。
  4. 【請求項4】 請求項2において、 上記アドレス変換手段は、上記第1のアドレスと上記第
    2のアドレスとが対応して格納されているメモリである
    ことを特徴とするマイクロプロセッサ。
  5. 【請求項5】 請求項2において、 上記アドレス変換手段は、上記第1のアドレスを選択信
    号とし、上記第2のアドレスに応じて入力値が設定され
    ているセレクタの集合であることを特徴とするマイクロ
    プロセッサ。
  6. 【請求項6】 請求項2において、 上記アドレス変換手段は、上記第1のアドレスを入力
    し、上記第2のアドレスを出力する論理回路であること
    を特徴とするマイクロプロセッサ。
  7. 【請求項7】 マイクロプロセッサと、上記マイクロプ
    ロセッサで実行可能なプログラム、データのうちの少な
    くとも一方を保存するメモリと、上記マイクロプロセッ
    サと上記メモリとを接続するアドレスバスおよびデータ
    バスとによって構成されているマイクロプロセッサシス
    テムにおいて、 上記マイクロプロセッサは、第1のアドレスを発生する
    プログラムカウンタと、上記プログラムカウンタで発生
    された上記第1のアドレスを、所定の規則によって、第
    2のアドレスに変換するアドレス変換手段とを具備する
    マイクロプロセッサであり、 上記メモリは、上記アドレス変換手段が出力した上記第
    2のアドレスの出力順に、命令コードが割り当てられ、
    上記第2のアドレス順に、上記割り当てられた命令コー
    ドを格納するメモリであることを特徴とするマイクロプ
    ロセッサシステム。
JP10236425A 1997-12-25 1998-08-07 マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法 Pending JP2000056966A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10236425A JP2000056966A (ja) 1998-08-07 1998-08-07 マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法
EP98310514A EP0929040A3 (en) 1997-12-25 1998-12-21 Microprocessor with data randomizing
US09/219,953 US6526511B1 (en) 1997-12-25 1998-12-23 Apparatus and method for modifying microprocessor system at random and maintaining equivalent functionality in spite of modification, and the same microprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10236425A JP2000056966A (ja) 1998-08-07 1998-08-07 マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法

Publications (1)

Publication Number Publication Date
JP2000056966A true JP2000056966A (ja) 2000-02-25

Family

ID=17000574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10236425A Pending JP2000056966A (ja) 1997-12-25 1998-08-07 マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法

Country Status (1)

Country Link
JP (1) JP2000056966A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007220091A (ja) * 2006-02-14 2007-08-30 Lenovo Singapore Pte Ltd コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法
US8041958B2 (en) 2006-02-14 2011-10-18 Lenovo (Singapore) Pte. Ltd. Method for preventing malicious software from execution within a computer system
US8694797B2 (en) 2006-02-14 2014-04-08 Lenovo (Sinapore) Pte Ltd Method for preventing malicious software from execution within a computer system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007220091A (ja) * 2006-02-14 2007-08-30 Lenovo Singapore Pte Ltd コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法
JP4575350B2 (ja) * 2006-02-14 2010-11-04 レノボ・シンガポール・プライベート・リミテッド コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法
US8041958B2 (en) 2006-02-14 2011-10-18 Lenovo (Singapore) Pte. Ltd. Method for preventing malicious software from execution within a computer system
US8694797B2 (en) 2006-02-14 2014-04-08 Lenovo (Sinapore) Pte Ltd Method for preventing malicious software from execution within a computer system

Similar Documents

Publication Publication Date Title
EP0221577B1 (en) Microprogram control unit
US5497341A (en) Sign-extension of immediate constants in an ALU using an adder in an integer logic unit
JP2554050B2 (ja) デ−タ処理方法
EP0220684A2 (en) Data processing system
JPH0810428B2 (ja) データ処理装置
JP2635057B2 (ja) マイクロプロセッサ
JPH11126174A (ja) マイクロプロセッサのメモリ情報読込装置および読込方法
KR20060021370A (ko) 다수의 명령어 세트를 갖는 데이터 처리 장치 내에서의명령어 부호화
US5742801A (en) Microprocessor to which additional instructions are added and instructions addition method thereof
JP2000056966A (ja) マイクロプロセッサシステムおよびマイクロプロセッサ動作解析防止方法
JPH03116281A (ja) 論理合成装置
US6499046B1 (en) Saturation detection apparatus and method therefor
US7647368B2 (en) Data processing apparatus and method for performing data processing operations on floating point data elements
JPS5917457B2 (ja) 2進化10進訂正装置
US5434988A (en) Data processor implementing a two's complement addressing technique
JP2525492B2 (ja) プログラマブルコントロ―ラ
JP3488178B2 (ja) システム開発方法、開発支援システム及び開発支援システム管理プログラムを記憶した記憶媒体
JPS62259140A (ja) アドレス生成回路
JPH11143852A (ja) マイクロプロセッサ
EP1391829A2 (en) Arithmetic apparatus and arithmetic method
CN113805942A (zh) 处理器核、处理器及指令处理方法
JP2629359B2 (ja) 論理シミュレータ
JPS6273329A (ja) 演算処理装置
JP3182497B2 (ja) 演算処理装置および命令変換装置
JP2728008B2 (ja) プログラム評価装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040615

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040716