JP2005122723A - プログラムカード及びこれを用いた計算機 - Google Patents
プログラムカード及びこれを用いた計算機 Download PDFInfo
- Publication number
- JP2005122723A JP2005122723A JP2004279924A JP2004279924A JP2005122723A JP 2005122723 A JP2005122723 A JP 2005122723A JP 2004279924 A JP2004279924 A JP 2004279924A JP 2004279924 A JP2004279924 A JP 2004279924A JP 2005122723 A JP2005122723 A JP 2005122723A
- Authority
- JP
- Japan
- Prior art keywords
- program
- program information
- address value
- instruction
- card
- 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
Links
Images
Abstract
【課題】プログラムの解読による不正な複製または改造等を困難にする。
【解決手段】プログラムをプログラムカード1に記憶させ、計算機本体3から送出されたプログラムカウンタ202の内容をプログラムカードリーダ2を介してプログラムカード1内に送出し、プログラムカード1では、この送出されたプログラムカウンタ202の内容に従って対応するアドレスからプログラム命令を読み出し、これを計算機本体3に送出する。
【選択図】 図2
【解決手段】プログラムをプログラムカード1に記憶させ、計算機本体3から送出されたプログラムカウンタ202の内容をプログラムカードリーダ2を介してプログラムカード1内に送出し、プログラムカード1では、この送出されたプログラムカウンタ202の内容に従って対応するアドレスからプログラム命令を読み出し、これを計算機本体3に送出する。
【選択図】 図2
Description
この発明は、プログラムカード及びこれを用いた計算機に関するものである。
近年、集積回路(LSI,VLSI等を含む。以下「IC等」という)に対する集積化技術の発達はめざましく、カートリッジ又は薄型のカード(以下「カード等」という)内にROM型又はRAM型のIC等を設け、これに計算の手順を示すプログラムと計算データとを(以下「プログラム情報」という)記憶させることにより、容易に着脱可能な計算機の主記憶装置や補助記憶装置(以下「記憶装置」という)として利用することが一般的となっている。
ところで、このIC等に記憶されるプログラム情報等は、2進数で表現されており、このプログラム情報は、一括して計算機内のメインメモリに読み込まれる。そして、このメインメモリから計算機の中央処理装置(以下「CPU」という)が逐次読み出しながら、その内容を解釈して命令を実行する。このように、プログラム情報を計算機の記憶装置の中に読み込んで、それを逐次読み出しながら、解釈実行していく計算機をノイマン(Neumann )型計算機と呼ばれている。
しかしながら、上記ノイマン型計算機における従来の着脱可能な記憶装置では、計算機本体のCPUとの間で所定の信号線を介してプログラム情報の通信を行う必要がある。従って、この信号線を介してあたかもCPUがプログラム情報を読み出すのと同じように、ユーザはプログラム解読装置によりプログラム情報を読み出してプログラム情報の解読を行うことが可能である。このことは、たとえIC化されていても、プログラム情報を信号線を介して通信する限り、プログラム情報の解読が可能であることを意味し、莫大な開発費をかけて生産したプログラム情報を、第三者による不正な複製又は改造から保護することが困難であった。
上記ノイマン型計算機における従来の着脱可能な記憶装置では、計算機本体のCPUとの間で所定の信号線を介してプログラム情報の通信を行う必要がある。従って、この信号線を介してあたかもCPUがプログラム情報を読み出すのと同じように、ユーザはプログラム解読装置によりプログラム情報を読み出してプログラム情報の解読を行うことが可能である。このことは、たとえIC化されていても、プログラム情報を信号線を介して通信する限り、プログラム情報の解読が可能であることを意味し、莫大な開発費をかけて生産したプログラム情報を、第三者による不正な複製又は改造等から保護することが困難であった。
そこで、本発明は、プログラム情報の不正な複製又は改造等を困難とする記憶装置及びこれを用いた計算機を提供するものである。
第1発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記計算機本体から送出される前記アドレスを示すアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報を前記計算機本体に送出する手段とを備えたプログラムカードである。
ここで、プログラムカード内の単位記憶セル群は、以下の実施例中、プログラム記憶装置に対応する。そして、外部からのアドレス指定信号(アドレス値)び読み出し/書き込み信号により、アドレス指定信号の示すアドレスの割り当てられた単位記憶セルからプログラム情報を読み出し、また、単位記憶セルに書き込むことができる。
また、本発明は、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報を前記計算機本体に送出する手段とを備え、前記計算機本体は、前記アドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、前記プログラム情報送出手段から送出されたプログラム情報に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
第2発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記計算機本体から送出された前記アドレスを示すアドレス値を、所定の暗号キーに基づいて復号化する復号化手段と、この手段により復号化されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出し手段と、この手段により読出されたプログラム情報のうち、命令コード部とアドレスオペランド部とを識別する手段と、この手段により識別されたアドレスオペランド部を、所定の暗号キーに基づいて暗号化する暗号化手段と、前記命令コード部及び前記暗号化手段により暗号化されたアドレスオペランド部を前記計算機本体に送出するプログラム情報送出手段とを備えたプログラムカードである。
また、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値を所定の暗号キーに基づいて復号化する復号化手段と、この手段により復号化されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報のうち、命令コード部とアドレスオペランド部とを識別する手段と、この手段により識別されたアドレスオペランド部を、所定の暗号キーに基づいて暗号化する暗号化手段と、前記命令コード部及び前記暗号化手段により暗号化されたアドレスオペランド部を前記計算機本体に送出するプログラム情報送出手段とを備え、前記計算機本体は、前記アドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値を前記プログラムカードのプログラム情報読出し手段に送出するアドレス値送出手段と、前記プログラム情報送出手段により送出された命令コード部及び暗号化されたアドレスオペランド部に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
第3発明は、アドレスの付された単位記憶セル群にプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、前記アドレスを示すアドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報が所定の条件を満たす場合に、前記アドレス値保持手段に保持されているアドレス値を変更するアドレス値変更手段と、前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを備えたプログラムカードである。
また本発明は、アドレスの付された単位記憶セル群にプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、前記プログラムカードは、前記アドレスを示すアドレス値を保持するアドレス値保持手段と、この手段に保持されたアドレス値に従って前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、この手段により読出されたプログラム情報が所定の条件を満たす場合に、前記アドレス値保持手段に保持されているアドレス値を変更するアドレス値変更手段と、前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを備え、前記計算機本体は、前記プログラム情報送出手段により送出されたプログラム情報に基づいて命令制御を実行する命令制御実行手段とを備えたプログラムカード及びこれを用いた計算機である。
第1発明によれば、プログラム情報を格納したプログラム記憶装置と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出する。これによって、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。
第2発明によれば、プログラムカード内に暗号化装置、暗号キー発生装置及び復号化装置を設け、プログラムカウンタの内容を暗号化装置により暗号化する。ここで、生成される暗号キーは毎回変化するので、もとのアドレス値が同じであっても毎回異なる暗号化されたアドレス値になる。従って、外部からはプログラム上のどの場所に戻ったのかがわからなくなり、プログラムの実行制御を外部から隠ぺいすることができる。
第3発明によれば、プログラムカウンタ及びこのプログラムカウンタの内容を制御するプログラムカウンタ計算装置をプログラムカード内に設けているので、プログラムの実行制御が計算機本体と完全に分離されることになる。これにより、通常のプログラムカウンタの更新及び実行制御命令に基づくプログラムカウンタの更新をプログラムカード内で行うので、JUMP命令等によりプログラムを実行する場合にも実行制御を完全に隠ぺいすることができるようになる。
以上のように、第1発明によれば、プログラム情報を格納したプログラム記憶装置と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出しているので、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。従って、ユーザは、プログラム情報の特定の実行系列については把握することができるが、たかだか1回の実行では全ての命令が実行されず、プログラム全体がどのようになっているかを容易に解読することができなくなる。
第2発明によれば、実行制御命令であるJUMP命令等を解釈実行する際に、オペランド部に記述されたアドレス値が暗号化されるので、外部からはプログラム上のどの場所に戻ったのかがわからなくなる。これによって、プログラムのループ構造が隠ぺいすることができ、プログラムの解読画より一層困難なものとなる。
第3発明によれば、通常のプログラムカウンタの更新及び実行制御命令に基づくプログラムカウンタの更新をプログラムカード内で行うので、実行制御命令であるJUMP命令等によりプログラムを実行する場合にも実行制御を完全に隠ぺいすることができるようになる。
以下、図面を参照しながら本発明の一実施例について説明する。
図1は、本発明に係るプログラムカード及びこれを用いた計算機の適用対象を示す図である。同図に示すように、本発明は、プログラム情報が記憶されたプログラムカード1をプログラムカードリーダ2に装着することにより計算機本体3からアクセス可能とし、該プログラム情報に従ってプログラムを実行するものに関するものである。
ここで、プログラムカード1は、内部に設けられたROMやRAM、EEPROM等の集積回路によりプログラム情報を記憶することが可能ないわゆるICカードであり、カード型のみならずカートリッジ型のものも含まれるものとする。また、このプログラムカード1は、外部ケースにより内部の集積回路が保護されているが、外部ケースを開封するとICカードの内容が消失するような構造になっている方が好ましい。
また、プログラムカードリーダ2は、プログラムカード1を着脱することができ、装着されたプログラムカード1内に記憶されたプログラム情報を読出し、また、計算機本体3からのプログラム情報を書込む場合の入出力装置の役目を果たしている。
計算機本体3は、キーボートやディスプレイ、補助記憶装置、主記憶装置、中央処理装置等から構成され、通常の計算機の機能を備えているものとし、本発明ではそれに加え、プログラムカードリーダ2を介して後述するプログラムカード1とアクセスするための機能を備えている。
[第1発明]
図2は、第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
図2は、第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
本発明は、プログラムカード内にプログラム情報を記憶し、計算機本体からの読み出し要求により、プログラムカード内に格納されたプログラム情報をその都度計算機本体に送出する。
即ち、同図において、命令制御装置201は、プログラムカウンタ(PC)202の内容(アドレス値)をプログラムリーダ2を介してプログラムカード1内の機械語命令読み出し装置203に送出する。機械語命令読み出し装置203はアドレス値に従ってプログラム記憶装置204から機械語命令を読み出し、これをプログラムリーダ2を介して計算機本体3の命令解釈実行装置205に送出する。命令解釈実行装置は、この機械語命令を解釈し、その結果に基づいて命令の実行を行い、必要であれば主記憶装置206をアクセスする。
以上のような本発明に係るプログラムカード及びこれを用いた計算機の構成をさらに詳述する。
図3は、第1発明に係るプログラムカード及びこれを用いた計算機の構成を示す詳細図である。
同図において、計算機本体に設けられている演算装置(ALU)301は、Lバス及びRバスで与えられたデータに対し演算指定により指定された演算を行って、演算結果をOバスに出力する。
条件コードレジスタ(CCR)302は、演算装置301で行われた演算結果の状態(例えば、N,Z,V,C)を後述する命令制御装置201からの指定によりセットすることができる。
アキュムレータレジスタ(ACC)303は、いわゆる作業用レジスタであり、Oバスから取り込んだデータをLバスに出力することができる。
上述したプログラムカウンタ202は、命令制御装置201からの指令により、そのアドレス値を1増加することができるようになっている。プログラムカウンタ202の内容は、Lバス及びA1 バスに出力することができるようになっている。
主記憶番地レジスタ(MAR)304、読み出し用データレジスタ(RDR)305、書き込み用データレジスタ(WDR)306は、それぞれ主記憶装置の読み書きに使われる。
命令レジスタ(IR)307は、命令コード部とオペランド部とから構成される機械語命令をセットすることができ、命令コード部は命令制御装置201に、オペランド部はLバスに送出される。
命令制御装置201は、命令コード部や条件コードレジスタ302の内容により、上記各レジスタから各バスへの出力、各バスから各レジスタへの入力、演算の指定、主記憶装置206の読み書き制御等を行うことができる。このための制御信号線は、命令制御装置201から各レジスタに配線されているが、ここでは省略する。
一方、プログラムカード内に設けられている機械語命令読み出し装置203は、計算機本体に設けられたプログラムカウンタ202からアドレス値を取り込み、これをプログラム記憶装置204に送出する。同時に、機械語命令読み出し装置203は、そのアドレス値を受けることによって、読み出し信号線308aを読み出し状態(例えば、「H」)に、選択信号線309aをアクティブ(例えば、「L」)にして、プログラム記憶装置204からデータを読み出し、これを計算機本体の命令レジスタ307に送出する。
以上のように構成された本発明に係るプログラムカードと及びこれを用いた計算機は、以下のように動作する。
即ち、命令制御装置201は、まずプログラムカウンタ202の内容をA1 バスに出力する。A1 バスに出力されたアドレス値は、プログラムカードリーダ(図示せず)を介して命令読み出し装置203に送出される。命令読み出し装置203は、プログラムカウンタ202からのアドレス値をプログラム記憶装置204に送出するとともに、読み出し信号線308aを「H」に、選択信号線309bをアクティブにする。そして、プログラム記憶装置読み出し時間だけ待った後、つまり、読み出されたデータが命令読み出し装置203に取り込まれるであろう時間後に、これを取り込む。さらに命令読み出し装置203は、読み出されたデータをプログラムカードリーダを介して命令レジスタ307に送出し、命令レジスタ307はこれを取り込む。この動作は、通常の計算機でいう命令フェッチに相当する。命令フェッチの後、次の命令の実行へ移る準備としてプログラムカ
ウンタ202の内容を1増加させる。
ウンタ202の内容を1増加させる。
命令レジスタ307は、取り込まれたデータのうち命令コード部を命令制御装置201に送出することにより、命令制御装置201ではその命令コードを解釈し、その結果に従って動作を行う。
例えば、命令レジスタに取り込まれたデータがLOAD命令であるとする。すると命令制御装置201は、命令レジスタ307のオペランド部をRバスに出力し、Lバスには何も出力せずに、演算指定を加算にする。これによってLバスのデータはそのままOバスに出力されるので、このデータを主記憶番地レジスタ304に取り込む。
次に、主記憶番地レジスタ5の内容をA2 バスに出力し、読み出し信号線308bを「H」に選択信号線309bをアクティブにして主記憶装置206を読む。これによって主記憶番地レジスタ304の内容、つまりLOAD命令のオペランド部で示された値に従って主記憶装置から読み出される。この動作は、通常の計算機でいうオペランドフェッチに相当する。そして、記憶装置の読み出し時間だけ待った後、Dバス上に読み出されたデータを読み出し用データレジスタ305に取り込む。
次に、読み出し用データレジスタ305の内容をRバスに出力し、Lバスには何も出力せずに、演算指定を加算にする。この結果、Rバス上のデータはそのままOバスに出力されるので、Oバス上のデータをアキュムレータレジスタ303に取り込む。また、演算装置の演算結果の状態のうちの「N」と「Z」に対応する部分を条件コードレジスタ302に取り込む。この動作は、命令実行に相当する。
このようにしてLOAD命令の実行が完了するので、命令制御装置201は、命令フェッチ、オペランドフェッチ、命令実行を繰り返す。
なお、本実施例においては、LOAD命令のみ示したが、主記憶装置206に書込む命令であるSTORE命令や実行順序を制御するJUMP命令においても同様に動作する。
以上のように、第1の発明によれば、プログラム情報を格納したプログラム記憶装置311と機械語命令読み出し装置とをプログラムカード内に設けて、1ステップずつ計算機本体に機械語命令を送出しているので、全プログラム情報を計算機の主記憶装置にロードする必要がなくなる。従って、ユーザは、プログラム情報の特定の実行系列については把握することができるが、たかだか1回の実行では全ての命令が実行されず、プログラム全体がどのようになっているかを容易に解読することができない。
[第2発明]
図4は、第2発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
図4は、第2発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
本発明は、プログラムカード内に格納されたプログラム情報を特定の実行系列に対しても解読を困難とすべく、第1発明に対しさらに暗号化・復号化に関する構成を加えている。なお、第1発明と同じものに対しては、同じ符号を付している。
即ち、同図において、プログラムカウンタ202からの内容をプログラムリーダ2を介してプログラムカード1内の復号化装置401に送出する。ここで、プログラムカウンタ202の内容は、後述する暗号化装置402により暗号化されたアドレス値X(Xは任意のビット数)とインデックス値C(Cは任意のビット数)とから構成されており、これを「(X,C)」と表すこととする。
復号化装置401では、暗号化されたアドレス値Xを復号化し、この復号化された値xにインデックス値Cを加えた値を本来のアドレス値として、機械語命令読み出し装置203に送出する。機械語命令読み出し装置203は、このアドレス値に従ってプログラム記憶装置204から機械語命令を読み出し、これを暗号化装置402に送出する。
暗号化装置402では、機械語命令のうちオペランド部の値を暗号キー発生装置403により生成された暗号キーに従って暗号化した後、この暗号化されたアドレス値X’をプログラムリーダ2を介して計算機本体3の命令解釈実行装置205に送出する。
命令解釈実行装置205は、この機械語命令を解釈し、その結果に基づいて命令の実行を行い、必要であれば主記憶装置206をアクセスする。また、本発明では、命令解釈実行装置205によって実行制御命令(例えば、JUMP命令等)であると解釈された場合には、オペランド部に記述されている暗号化されたアドレス値X’をプログラムカウンタ202に新たにセットする。これに対して、実行制御命令以外の命令(例えば、LOAD命令等)の場合には、プログラムカウンタ202の内容のインデックス値を1つ増やす。
例えば、プログラムの実行アドレスを図5(a)に示すプログラムに従って説明する。即ち、同図(a)に示すプログラムは、メモリM2の内容にメモリM3の内容を乗じた値をメモリM1の内容とするプログラムである。今、メモリM3の内容が「2」の場合、プログラムカウンタ202の内容は同図(b)のようになる。つまり、S5やS9のJUMP命令(BLE、JMP)を解釈実行する際に、オペランド部に記述されたアドレス値「S10」や「S2」が暗号化されるので、外部からはプログラム上のどの場所に戻ったのかがわからなくなる。これによって、S2乃至S9のループ構造が隠ぺいすることができ、プログラムの解読画より一層困難なものとなる。
[第3発明]
図6は、第3発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
図6は、第3発明に係るプログラムカード及びこれを用いた計算機の構成を示す概念図である。
本発明は、機械語命令全ての実行順序を外部から隠ぺいすべく、プログラムカウンタをプログラムカード内に設けている。なお、第1,2発明と同じものに対しては、同じ符号を付している。
即ち、同図において、計算機本体3内の命令制御装置201からの命令により、プログラムカード1内のプログラムカウンタ202は、その内容(アドレス値)を機械語命令読み出し装置203に送出する。機械語命令読み出し装置203は、送出されたアドレス値に従ってプログラム記憶装置204から機械語命令を読み出す。
ここで、読み出された機械語命令が実行制御命令(JUMP命令等)である場合には、プログラムカウンタ計算装置601を起動する。プログラムカウンタ計算装置601は、計算機本体3内の条件コードレジスタ302の内容を読み込み、該内容が命令コードに対応する条件を満たしたとき、アドレス値を計算してこれを新たなプログラムカウンタ202の内容すべくプログラムカウンタ202を更新する。
一方、機械語命令が実行制御命令以外の命令であった場合には、プログラムカウンタ202の内容を1つ増やするとともに、機械語命令を計算機本体3内の命令解釈実行装置205に送出する。命令解釈実行装置205は、この機械語命令を解釈し、その結果に基づいて命令の実行を行い、必要であれば主記憶装置206をアクセスする。
以上のような本発明に係るプログラムカード及びこれを用いた計算機の構成をさらに詳述する。
図7は、第3発明に係るプログラムカード及びこれを用いた計算機の構成を示す詳細図である。
同図において、図6における機械語命令読みだし装置203及びプログラムカウンタ計算装置601は、演算装置701、プログラムカウンタ202、命令レジスタ702、サブ命令制御装置703により構成されている。
以上のように構成された本発明に係るプログラムカード及びこれを用いた計算機は、以下のように動作する。
即ち、計算機本体3内の命令制御装置201は、プログラムカード1内のサブ命令制御装置703を起動させる。サブ命令制御装置703は、まずプログラムカウンタ202の内容をA1 バスに出力する。サブ命令制御装置703は、読み出し信号線308aを「H」に、選択信号線309bをアクティブにする。そして、プログラム記憶装置読み出し時間だけ待った後、つまり、読み出されたデータが命令レジスタ702に取り込まれるであろう時間後に、これを取り込む。この動作は、通常の計算機でいう命令フェッチに相当する。命令フェッチの後、次の命令の実行へ移る準備としてプログラムカウンタ202の内容を1増加させる。
命令レジスタ702は、取り込まれたデータのうち命令コード部を主命令制御装置201に送出することにより、命令制御装置201ではその命令コードを解釈する。
即ち、命令レジスタ702に取り込まれたデータが実行制御命令、例えば、JNZ命令であるとする。ここで、JNZ命令は、条件コードレジスタの内容がゼロか否かの真偽を判定し、真(つまりゼロでない)であればオペランド部に示されるアドレスに実行制御を移す命令であるとする。サブ命令制御装置702は、計算機本体3内にある条件コードレジスタ302の内容を読み込み、条件判定を行う。これにより、真であればサブ命令制御装置703は、命令レジスタ702の内容をR1 バスに出力し、Lバスには何も出力せずに、演算指定を加算にする。これによってR1 バスのデータはそのままO1 バスに出力されるので、このデータをプログラムカウンタ202に取り込む。
これで、実行制御先であるアドレスがプログラムカウンタ202にセットされるので、JNZ命令が終了する。
一方、命令レジスタ702に取り込まれたデータが実行制御命令以外の命令であったとする。この場合、サブ命令制御装置は、機械語命令送出バスMを介して計算機本体3内の命令レジスタ307に送出する。機械語命令が送出された後は、主命令制御装置201の制御に従って、第1発明に示したと同様に動作する。
以上のように、本発明によれば、通常のプログラムカウンタの更新及び実行制御命令に基づくプログラムカウンタの更新をプログラムカード内で行うので、JUMP命令等によりプログラムを実行する場合にも実行制御を完全に隠ぺいすることができるようになる。
1…プログラムカード
2…プログラムカードリーダ
3…計算機本体
201…命令制御装置
202…プログラムカウンタ
203…機械語命令読みだし装置
204…プログラム記憶装置
205…命令解釈実行装置
206…主記憶装置
2…プログラムカードリーダ
3…計算機本体
201…命令制御装置
202…プログラムカウンタ
203…機械語命令読みだし装置
204…プログラム記憶装置
205…命令解釈実行装置
206…主記憶装置
Claims (2)
- アドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報が記憶され、計算機本体からの指令により所定のインターフェースを介して前記プログラム情報が読出されるプログラムカードにおいて、
前記アドレスを示すアドレス値を保持するアドレス値保持手段と、
この手段に保持されたアドレス値に対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、
この手段により読出されたプログラム情報と前記計算機本体の条件コードレジスタ及び前記アドレス値保持手段に保持されているアドレス値から計算されたアドレス値を前記アドレス値保持手段に書き込むアドレス値変更手段と、
前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを備えたことを特徴とするプログラムカード。 - アドレスの付された単位記憶セルからなる単位記憶セル群にプログラムを構成する機械語命令からなるプログラム情報を記憶したプログラムカードと、このプログラムカードに記憶されたプログラム情報を所定のインターフェースを介して読み出して、解釈・実行する計算機本体とを備えたプログラムカード及びこれを用いた計算機であって、
前記プログラムカードは、
前記アドレスを示すアドレス値を保持するアドレス値保持手段と、
この手段に保持されたアドレス値に対応する前記単位記憶セルからプログラム情報を読出すプログラム情報読出手段と、
この手段により読出されたプログラム情報と前記計算機本体の条件コードレジスタ及び前記アドレス値保持手段に保持されているアドレス値から計算されたアドレス値を前記アドレス値保持手段に書き込むアドレス値変更手段と、
前記プログラム情報読出手段により読出されたプログラム情報を前記計算機本体に送出するプログラム情報送出手段とを、
前記計算機本体は、
前記プログラム情報送出手段により送出されたプログラム情報に基づいて命令制御を実行する命令制御実行手段とを備えたことを特徴とするプログラムカードを用いた計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004279924A JP2005122723A (ja) | 2004-09-27 | 2004-09-27 | プログラムカード及びこれを用いた計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004279924A JP2005122723A (ja) | 2004-09-27 | 2004-09-27 | プログラムカード及びこれを用いた計算機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08706394A Division JP3642533B2 (ja) | 1994-04-26 | 1994-04-26 | プログラムカード及びこれを用いた計算機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005122723A true JP2005122723A (ja) | 2005-05-12 |
Family
ID=34616987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004279924A Pending JP2005122723A (ja) | 2004-09-27 | 2004-09-27 | プログラムカード及びこれを用いた計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005122723A (ja) |
-
2004
- 2004-09-27 JP JP2004279924A patent/JP2005122723A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4153653B2 (ja) | マイクロプロセッサおよびデータ保護方法 | |
US9424055B2 (en) | Multi-function instruction that determines whether functions are installed on a system | |
US9298894B2 (en) | Cache structure for a computer system providing support for secure objects | |
US8191155B2 (en) | Microprocessor | |
US7707645B2 (en) | Microprocessor | |
US20120246489A1 (en) | Encrypting and storing confidential data | |
KR20200051694A (ko) | 호출 경로 의존 인증 | |
CN107667499A (zh) | 带密钥散列消息认证码处理器、方法、系统和指令 | |
JP2005099984A (ja) | オンチップマルチコア型耐タンパプロセッサ | |
CN102918865A (zh) | 使用虚拟化保护视频内容 | |
JP2019212342A (ja) | ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム | |
CN109558372A (zh) | 用于安全处理器的设备和方法 | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
JP2005515542A (ja) | 対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるnvメモリに書き込むための装置及び方法 | |
JP2007310601A (ja) | マイクロコンピュータおよびそのソフトウェア保護方法 | |
JP4047281B2 (ja) | キャッシュメモリをメインメモリに同期させる方法 | |
JP6672341B2 (ja) | 仮想マシンの状態情報の保護 | |
JP3642533B2 (ja) | プログラムカード及びこれを用いた計算機 | |
JP2007109053A (ja) | バスアクセス制御装置 | |
JP2010231477A (ja) | プログラム及びプログラム実行装置 | |
JP2005122723A (ja) | プログラムカード及びこれを用いた計算機 | |
US8171311B2 (en) | Transferring data values via a data bus or storing data values using a selectable representation | |
JP4309726B2 (ja) | マイクロプロセッサ | |
JP4494950B2 (ja) | テーブル切替プログラムおよびコンピュータシステム | |
US20060190695A1 (en) | Method and system for controlling access in memory devices, computer program product therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050418 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061010 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070220 |