(57)【要約】      （修正有）【課題】柔軟性が高い、復号手段を有するコントローラ、復号方法を提供する。【解決手段】コントローラが、実行可能な命令またはワイルドカード命令である命令を受け取る受信手段（１０２）を有する。復号手段（１０４）は、実行可能な命令に応答して、実行可能な命令に対応する制御信号を出力し、ワイルドカード命令を受信すると、これに応答して切替信号（１１８）を出力するよう形成されている。さらに、コントローラは、所定の代用制御信号（１２０）を送信するための供給手段（１０６）を有し、この供給手段は、切替信号（１１８）に応じて、所定の代用制御信号（１２０）を送信する。【選択図】図１
2005339540.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な命令またはワイルドカード命令である命令（１１２）を受け取る受信手段（１０２；２０２）と、
受信した命令が実行可能な命令である場合、これに応答して、実行可能な命令に対応する制御信号（１１６；２１６）を出力し、受信した命令がワイルドカード命令である場合、これに応答して、切替信号（１１８、２１８）を出力するように形成された復号手段（１０４；２０４）と、
前記切替信号に応じて所定の代用制御信号を出力するように形成された、所定の代用制御信号（１２０；２２２；３２２）供給手段（１０６）と、
を有するコントローラ。
【請求項２】
上記供給するための手段（２０６；３０６）は、記憶された所定の代用制御信号（２２０；３２０）を送信するメモリ手段（２０６ａ；３０６ａ）と、切替手段（２０６ｂ；３０６ｂ）とを備え、前記切替手段は、切替信号（１１８；２１８）に応じて、制御信号（１１６；２１６）または記憶された所定の代用制御信号を出力するように構成されている請求項１に記載のコントローラ。
【請求項３】
供給手段（３０６）は、所定の制御信号を受信し、記憶するよう形成されている請求項１または２に記載のコントローラ。
【請求項４】
書き込み命令に応答して、メモリ手段（２０６ａ；３０６ａ）に、代用制御信号（３２０）の値を書き込むように形成された書き込み手段（３３６）を、さらに備えている請求項２に記載のコントローラ。
【請求項５】
さらに、メモリ（３３４）を備え、書き込み手段（３３６）が、メモリから出力された代用制御信号の値を前記メモリ手段（２０６ａ；３０６ａ）に書き込むように形成されている請求項４に記載のコントローラ。
【請求項６】
コントローラが、複数の実行可能な命令を含む命令群と、各実行可能な命令に対応する制御信号（１１６；２１６）と、命令群を拡張する追加の命令に対応する所定の代用制御信号（１２０；２２０；３２０）とを有する請求項１ないし５のいずれか１項に記載のコントローラ。
【請求項７】
さらに、演算手段（３３２）を有し、前記演算手段が、制御信号（１１６）または代用制御信号（３２０）に応じて、制御信号または代用信号により決定された動作を実行するように形成されている請求項１ないし６のいずれか１項に記載のコントローラ。
【請求項８】
（ａ）実行可能な命令またはワイルドカード命令である、命令を受け取る工程と、
（ｂ）受信した命令が実行可能な命令である場合、これに応答して、実行可能な命令に対応する制御信号を出力し、受信した命令がワイルドカード命令である場合、これに応答して、切替信号を出力する工程と、
（ｃ）前記切替信号に応じて、所定の代用制御信号を出力する工程と、
を含む複号方法。
【請求項９】
コンピュータで実行する際、請求項８に記載の方法を実行するプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、例えばマイクロプロセッサなどのコントローラ中に設けられる復号手段を有するコントローラ、および復号方法に関する。
【０００２】
マイクロプロセッサ、あるいはより一般的にコントローラは、命令群中に統合された命令により制御される。コントローラにより実行されるプログラムは、この種の命令からなる。コントローラは、これらの命令を処理し、各命令により特定される関数を実行するように形成されている。このために、コントローラは、これらの実行される命令を制御信号に変換する復号手段を備えている。制御信号は、コントローラの演算ユニットに、実行される命令により定義される関数を実行させる。現在、周知のマイクロプロセッサは、通常、ある関数を予め設定している、所定の固定の命令群を使用している。これらの命令群は、ハードウェア上、すなわちコントローラ上で理論的に実行可能である動作の一部にすぎない。プログラマがあるアルゴリズムを実装すると、プログラマはこの命令群に頼ることしかできない。
【０００３】
このように規定されていることは、特に、プログラマが非常に特別なアルゴリズムをプログラミングする場合には、欠点である。以下では、例として、対称的な暗号アルゴリズムＡＥＳ（Advanced Function Standard）を実行するソフトウェアである、ＡＥＳソフトウェアの実装における、ＸＴＩＭＥ動作（以下では、擬似マシンコードとして説明する）を用いて、説明する。
XTIME     .macro rl, r2
and        D8, rl, D14
sh         D8, -7
mul.u      r2, D8, Ox1b
and        D8, r1, D15
sh         D8, 1
xor        r2, D8
.endm
２つの変数、ｒ１およびｒ２は、ＸＴＩＭＥと呼ばれるマクロへ入力される。このマクロは８８ＣＰＵのレジスタＤ８・Ｄ１４・Ｄ１５にアクセスする。第１ＡＮＤ操作”ａｎｄ”では、ｒ１の値が、Ｄ１４のレジスタ値とＡＮＤ操作を行い、その結果を、レジスタＤ８に書き込む。続いて、シフト操作”ｓｈ”で、レジスタＤ８の値を、右に７桁シフトさせる。次の乗算操作”ｍｕｌ．ｕ”では、レジスタＤ８の値が、メモリの０ｘ１ｂの位置の値により乗算され、結果が変数ｒ２に書き込まれる。その後ＡＮＤ操作”ａｎｄ”で、ｒ１の値が、レジスタＤ１５の値とＡＮＤ操作され、その結果がレジスタＤ８に書き込まれる。続いて、シフト操作”ｓｈ”により、レジスタＤ８の値を左に１桁シフトする。マクロの最後の操作は、ＸＯＲ操作”ｘｏｒ”で、ｒ２の値とＤ８のレジスタ値との間でＸＯＲ操作を行い、結果を値ｒ２に書き込む。ＸＴＩＭＥマクロは、復帰関数．ｅｎｄｍにより終了する。
【０００４】
このシーケンスは、一連のＡＮＤ操作”ａｎｄ”とそれに続くシフト操作”ｓｈ”とを含む。この一連の操作は、マクロ中で２度実行される。この種の流れ中で命令が繰り返されることにより、プログラムの実行速度を不必要に下げ、さらに、プログラムの記憶要求を不必要に上げてしまうという欠点がある。このような問題を避けるために、コントローラのアーキテクチャ中には、非常に再帰的な命令シーケンスが含まれている。この結果、命令群は、いくつかの元の命令の組み合わせに対応する複雑な命令を有するよう拡張される。しかし、命令群を拡張すると、費用が多大にかかる。特に、コントローラ中の各変更を含むＣＯＲＥと呼ばれるコントローラの中止部分、レイアウト方策、および複雑な命令の拡張を実装するために必要となる追加的なオーバーヘッド領域を再度開発するための費用がかかる。従って、稀にしか必要ではない特別な命令の組み合わせのためには、この種の命令群の拡張は行なわれない。
【０００５】
再構成可能なＣＰＵとしては、基本的に、ＦＰＧＡ（field programmable gate array）での解決しか存在しないが、ＦＰＧＡは、ハードウェア中で固定的に割り当てられるコントローラでは用いることはできない。
【０００６】
周知のコントローラのアーキテクチャでは、復号ＲＯＭを介してマクロ命令を追加することによってのみ、命令群の拡張が可能である。復号ＲＯＭを用いることにより、追加的な命令がハードウェア中に割り当てられ、これによりコントローラを開発するときには追加的なマクロ命令ができている。しかし、この種のマクロ命令は、元のコントローラの命令群と比べて、柔軟性の観点からは相違点がない。
【０００７】
本発明の目的は、柔軟性が高い、復号手段を有するコントローラ、復号方法、この復号方法を実行するコンピュータプログラムを提供することである。
【０００８】
本発明の目的は、請求項１に記載のコントローラにより、請求項７に記載の方法により、および、請求項８に記載のコンピュータプログラムにより達成される。
【０００９】
本発明のコントローラは、実行可能な命令またはワイルドカード命令である命令を受け取る受信手段と、受信した命令が実行可能な命令である場合、これに応答して、この命令に対応する制御信号を出力し、受信した命令がワイルドカード命令である場合、これに応答して、切替信号を出力するように形成された復号手段と、前記切替信号に応じて、所定の代用制御信号を出力するように形成された、所定の代用制御信号を送信する供給手段とを有する。
【００１０】
本発明の基になる知見は、既存の資源を用いて、マイクロコントローラシステムの理論的な可能性をよりよく利用することである。追加的に必要となる供給手段は、追加領域を少し追加しただけで実現でき、ワイルドカード命令は、既存の命令群中で予備的に存在する演算コードを必要とするのみである。
【００１１】
本発明の方法は、各追加の命令に対して特別なハードウェアを実装およびテストすることなく、既存のマイクロプロセッサ上にある命令群を拡張するという新規の可能性に基づく。プログラマは、システムの可能性の範囲内で、個人的な拡張を行なうことができる。これは、システム全体としては重要性がなく、それゆえにコントローラのアーキテクチャ中には実装されないような、一般的には非常に稀な特別な命令を必要とするプログラマにとっては、非常に重要である。このように拡張することによって、プログラムを実行する際のシステム中のメモリ領域を低減し、効率を上げることができる。
【００１２】
本発明によれば、復号器は、命令を変更することができる。これにより、再構成可能な命令をプログラミングすることができる。特に、再読み込み可能なプログラムでは、予めわかっていない命令を、後の段階で自分で定義して使用することができる。これにより、一方では、ＣＯＲＥの柔軟性を高め、他方では、プログラマ自身で命令を作ることができるので、新しい安全性方策を提供することができる。本発明の方法が、安全性が重要となる応用において適用されれば、攻撃者は、演算コードからプログラマが実行する命令を推論できない。
【００１３】
上述に関連した安全性についての本質的な点は、１つまたは複数の非公開の命令群を開発し、攻撃者への対抗手段とすることができるという点である。別の実施形態では、所定の代用制御信号が、メモリ中に設けられている。これにより、攻撃者は、演算コードを解読しても、どのプログラムが実行されているかわからない。
【００１４】
本発明の好適な実施形態を、以下に添付の図面を参照して詳しく説明する。
【００１５】
図１は、本発明のコントローラの概略図である。
【００１６】
図２は、本発明のコントローラの別の実施形態の詳細な概略図である。
【００１７】
図３は、本発明のコントローラの別の実施形態の概略図である。
【００１８】
本発明の好適な実施形態に関する以下の詳しい説明では、異なる図面中にある同様の効果を有する部材に対しては、同じまたは類似の参照符号を用い、それらの部材に関する説明は繰り返さない。
【００１９】
図１は、本発明のコントローラの概略図である。コントローラは受信手段１０２、復号手段１０４、および供給手段１０６を備えている。受信手段１０２は、命令１１２を受け取るように形成されている。受信した命令１１４は、受信手段１０２により、復号手段１０４に送られる。受信した命令１１４は、コントローラによって実行可能な命令、またはワイルドカード命令である。実行可能な命令は、復号手段１０４により制御信号１１６に変換され、復号手段１０４は、制御信号１１６を出力する。制御信号１１６は、コントローラの演算ユニット（図１には不図示）を制御し、演算ユニットに、実行可能な命令によって定義される関数を実行させる。受信した命令１１４がワイルドカード命令である場合、復号手段１０４は切替信号１１８を出力し、この切替信号は供給手段１０６で受信される。切替信号１１８は、供給手段１０６に対して、ワイルドカード命令が来たことを知らせる。
【００２０】
ワイルドカード命令に応答して、供給手段１０６は、所定の代用制御信号１２０を送る。代用制御信号１２０は、追加の関数を実行させるようにコントローラの演算ユニットを制御する。この追加の関数は、制御信号１１６からは呼び出すことができない関数であることが好ましい。これゆえに、追加の関数は、コントローラの命令群の命令１１２ではまだ定義されていない関数に対応し、コントローラ用に定義された命令群を拡張する関数に対応している。前記命令群は、通常複数の実行可能な命令と、ワイルドカード命令とを有する。
【００２１】
あるいは、ワイルドカード命令は、復号手段１０４中で認識はされるが、復号はされない実行可能な命令であってもよい。また、代用制御信号は、命令群の中の１つの命令に対応する制御信号であってもよい。
【００２２】
追加の関数は、演算ユニットが命令群の命令を実行させる目的で、いずれにせよ供給する関数に対応することが好ましい。しかし、追加の関数は、命令群の命令によって、実行可能ではない。例えば、追加の関数は、命令群の命令１１２により呼び出される関数を組み合わせたものに対応しても良い。本発明によれば、追加の関数は、代用制御信号１２０によって始動させられる。対応する命令１１２がコントローラの命令群中にない場合でも、あるいはこのような命令を対応する制御信号に変換するように、復号手段１０４が形成されていない場合でも、追加の関数は、代用制御信号によって実行されうる。
【００２３】
供給手段１０６に代用制御信号１２０を出させるワイルドカード命令は、命令群の追加の命令１１２であってもよいし、または命令群中でその時点までは、予備としてラベルがつけられた命令であっても良い。予備の命令である場合には、従来の命令群からの変更は不要である。
【００２４】
供給手段１０６により出力される代用制御信号１２０は、交換可能であることが好ましい。これにより、１つのワイルドカード命令を用いて、異なる代用制御信号１２０を出力することができ、これにより、コントローラに異なる追加の関数を実行させることができる。
【００２５】
以下に、本発明の方法を、上述したＸＴＩＭＥの動作に関連して詳しく説明する。上述したように、シーケンスでは、ＡＮＤ動作”ａｎｄ”に続いて、シフト動作”ｓｈ”が２度繰り返される。１つの命令周期中で、２度の動作を実行する命令が、上述したように８８ＣＰＵ中で構成される。これは、ＣＰＵの演算ユニットのアーキテクチャが、このために設計されていることを意味する。しかし、このＡＮＤシフト動作”ａｎｄｓｈ”命令はこのアルゴリズムに固有のものであるので、このようなＡＮＤシフト動作”ａｎｄｓｈ”は既存では存在しない。しかし、ＡＥＳ実行中では、このＸＴＩＭＥマクロは非常にしばしば出てくるので、命令”ａｎｄｓｈ”を最適化することにより、アルゴリズムの性能は、１０％も上昇可能である。この”ａｎｄｓｈ”操作に対応する代用制御信号１２０、すなわち、ワイルドカード命令に応答して供給手段１０６から出力される信号によって、１６バイトの演算コードを，２バイトのＸＴＩＭＥマクロに置換することができる。この結果、ＡＥＳコードで全部で約２２０バイトの演算コードを節約することができる。ＡＥＳアルゴリズムのコードは、約２キロバイトであるので、結果として削減できるコードは約１０％にもなる。
【００２６】
このように、本発明を用いることによって、命令群の命令１１２によっては呼び出せない追加の関数を実行することができる。
【００２７】
制御信号１１６および代用制御信号１２０は、制御信号値をコントローラの演算ユニットに利用できるようにする。通常、制御信号値は、演算ユニットにシリアル伝送されるのではなく、数本の線を用いてパラレル伝送される（不図示）。命令１１２は、通常１６ビットまたは３２ビットの命令であるが、他のビットサイズでも良い。ワイルドカードの命令のビットが小さく、それにより占有されるメモリが最小限になることが好ましい。命令は、通常、演算コードとオペランドとを有する機械で読み取り可能な命令である。演算コードは、命令により実行される命令を定義する。オペランドは、演算コードにより処理される値を定義し、その値は直接送信されるか、またはレジスタまたはメモリ中に予設定されている。オペランドは、システムアーキテクチャによってのみ制限を受ける。
【００２８】
受信手段１０２は、通常コントローラの入力バッファとして実現される。この場合、命令１１２は、受信手段１０２によりクロックされ、受信した命令１１４として出力される。あるいは、受信手段１０２を、単純な通過線または増幅手段として実現しても良い。復号手段１０４は、ワイルドカード命令に応答して切替信号１１８を出力するように、機能拡張がされている。このために、この際、復号手段１０４は、ワイルドカード命令を認識するように形成された比較手段（不図示）を備えている。
【００２９】
図２は、本発明のコントローラの詳細な概略図である。図２中のコントローラは、この実施形態では通過線である受信手段２０２、および復号手段２０４を備えている。供給手段２０６は、切替手段２０６ｂに接続されたメモリ手段２０６ａとして実現されている。受信手段２０２が通過線であるため、受信した命令２１４は、図１の受信手段が受信した命令または演算コードである。復号手段２０４は、復号機能を実施し、図１に関連して説明したような制御信号２１６および切替信号２１８を出力する。メモリ手段２０６ａは、記憶されていた代用制御信号２２０を供給する。メモリ手段２０６ａは、この実施形態では、レジスタであり、特にＣＳＦＲレジスタ（コア特別機能レジスタ）である。汎用目的のレジスタは、すべて、このＣＳＦＲの範疇に入る。ＣＳＦＲレジスタでは、プロセッサの状態を詳しく記述し、制御する必要がある。メモリ手段２０６ａは、代用制御信号２２０を切替手段２０６ｂに送る。切替手段２０６ｂはマルチプレクサである。
【００３０】
マルチプレクサ２０６ｂは、制御信号２１６および代用制御信号２２０を受信する。マルチプレクサ２０６ｂは、切替信号２１８にも接続されている。切替信号２１８は、受信した命令２１４が、復号手段２０４によって制御信号２１６に変換された実行可能な命令であるのか、あるいはワイルドカード命令であるのかを示している。もし切替信号２１８により、実行可能な命令であると示されれば、マルチプレクサ２０６ｂは、制御信号２１６をマルチプレクサの出力に送信する。すなわち、マルチプレクサ２０６ｂは、有効な制御信号２２２を出力する。切替信号２１８により、実行可能な命令であると示されれば、有効な制御信号２２２は制御信号２１６に対応する。一方、もし切替信号２１８により、ワイルドカード命令であると示されれば、マルチプレクサ２０６ｂは代用制御信号２２０を送る。すなわち、有効な制御信号２２２は代用制御信号２２０に対応する。すなわち、受信した命令２１４が実行可能な命令であるか、ワイルドカード命令であるかに応じて、マルチプレクサ２０６ｂは、制御信号２１６または代用制御信号２２０のいずれかを出力する。
【００３１】
図２で示したコントローラの部材は、コントローラの復号器の部材に相当する。復号器は、一連の受信した命令２１４に対応する演算コード、および、代用制御信号２２０に対応するＣＳＦＲレジスタ２０６ａの内容を多重送信することにより、命令を変えることができる。このようにして、再構成可能な命令をプログラムできる。ＣＳＦＲレジスタ２０６ａをプログラムすることにより、およびワイルドカード形式の追加の演算コードを用いることにより、新しい命令は、コントローラまたはＣＰＵに多重送信される。新しい命令は、ＭＴＣＲ（コアレジスタへの移動）操作により、追加的なＣＳＦＲ上で書き込むことにより、８８プロセッサ中で定義される。ＭＴＣＲ操作は、ＣＰＵからＣＳＦＲレジスタへ明確にデータをシフトする。この場合、ワイルドカード命令に対応する追加の１６ビットの演算コードが、復号器により解釈され、追加のマルチプレクサ２０６ｂが切り替えられ、制御信号２１６の形態での復号された命令に代えて、代用制御信号２２０の形態での新しく定義された命令が、実行される。新しい命令は、代用制御信号２２０に対応するように、新しい命令により形成された有効な制御信号２２２により、実行される。ＣＦＳＲレジスタ２０６ａは、このようにして、１つの所定の演算コードを用いてＣＰＵ（不図示）を制御する。
【００３２】
図３は、本発明の別の実施形態を示す概略図である。図１および図２に関連して説明した受信手段１０２および復号手段１０４の形態の部材以外に、図３で図示した実施形態では、メモリ手段３０６ａおよび切替手段３０６ｂが備えられている。切替手段３０６ｂは、図２で示した切替信号に対応し、切替手段１１８に応じて、制御信号１１６または記憶された代用制御信号３２０の何れかに対応する有効な制御信号３２２を出力するように形成されている。演算手段３３２が、この有効な制御信号３２２を受信する。演算手段３３２は、メモリ３３４および書き込み手段３３６に接続されている。演算手段３３２は、書き込み信号３４２を介してメモリ３４３と、また交換信号３４４を介して書き込み手段３３６と接続されている。
【００３３】
演算手段３３２は、有効な制御信号３２２によって制御される関数を実行するように形成されている。有効な制御信号３２２が制御信号１１６に対応する場合、実行される関数は、実行可能な命令により規定される関数に対応する。有効な制御信号３２２が代用制御信号３２０に対応する場合、演算手段３３２が実行する関数は、追加の関数に対応する。実装される命令が、ワイルドカード命令にマッピングされても良い。攻撃者は、どの論理操作がどの演算コードを実行するかを知っているが、ワイルドカード命令は攻撃者が理解できるように定義されていない。
【００３４】
代用制御信号３２０が、プログラムによって制御されることが好ましい。このために、命令群は通常書き込み命令を有する。この書き込み命令により、演算手段３３２が、書き込み手段３３６を介してメモリ手段３０６ａに書き込み信号３４６を送る。代用制御信号３２０の値は、書き込み信号３４６により決められる。この代用制御信号３２０の値は、新しい書き込み信号３４６の値により上書きされるまでの間、メモリ手段３０６ａの中に記憶される。書き込み信号３４６を介してメモリ手段３０６ａに書き込まれた代用制御信号３２０の値は、書き込み命令の中に含まれるか、あるいはメモリ３３４から読み出され、書き込み手段３３６を介してメモリ手段３０６ａに送られる。前記代用制御信号３２０または複数の異なる代用制御信号の値は、メモリ３３４中に固定的に記憶されていても良いし、または別のプログラム制御された書き込み命令により、メモリ３３４のメモリセルに書き込まれても良い。
【００３５】
本実施形態では、代用制御信号値の形態での命令が、メモリ中に設けられている。このメモリは、例えば、ＮＶＭメモリ（非揮発性メモリ、全ての非揮発的なメモリに対する汎用的な用語である）の形態をとるもので、例えば、ＥＥＰＲＯＭである。これらメモリは、ＭＴＣＲ操作により、レジスタファイル（図３に不図示）に同じものを読み込み、ＣＳＦＲレジスタの形態を取るメモリ手段３０６ｂに対して同じものを書き込み、ここで用いられるＣＳＦＲおよびレジスタ中に記憶されている操作に関するいかなる情報も含まないワイルドカード命令の形態をとる演算コードにより、それらを実行する。従って、演算コードを解読しても、どのプログラムが実行されるのかを攻撃者は知ることはできない。このことは、安全性が重要とされる応用において、本質的となる安全性に関する観点である。
【００３６】
代用制御信号３２０が自由にプログラムできることで、使用可能な命令の合計数は、演算手段のアーキテクチャのみにより限定を受ける。プログラマ、または、プログラムコードを機械で読み取り可能な命令１１２に変換するコンパイラソフトウェアは、演算手段３３２のアーキテクチャ、または、演算手段３３２に追加の関数を実行させる代用制御信号値を、知っていなければならない。
【００３７】
本発明の方法は、上述の実施形態に限定されるものではなく、プログラムで制御される命令を実行する全ての装置中で使用できる。特に、この命令は、本発明で示したプログラミング言語の命令よりも単純な構造を有しても良い。代用制御信号を記憶し送信するメモリ手段は、いかなるメモリでもよく、特に、コントローラ構造中に既存のレジスタでも良い。
【００３８】
好適な実施形態では、コントローラは、代用制御信号値を記憶する、複数のメモリ手段を備えている。これにより、１つのワイルドカード命令により複数の代用制御信号を送ることができ、従って、コントローラが複雑な追加の関数を実行することができる。メモリ手段が、ＣＳＦＲレジスタの形態を有するメモリ手段として実装されれば、例えば、複数のＣＳＦＲレジスタを実装し、予備の演算コードによりアドレス指定することも可能である。
【００３９】
別の実施形態では、異なる代用制御信号３２０を記憶する複数のメモリ手段の各々を、異なるワイルドカード命令によりアドレス指定することもできる。この場合、復号手段は、各ワイルドカード命令に応答する各メモリ手段を制御することができる、複雑な制御信号を送信することができる。
【００４０】
状況に応じて、本発明の復号方法は、ハードウェア的に、またはソフトウェア的に実装することができる。この実装は、特にディスクやＣＤなどのデジタル記憶媒体上で行なうことができ、これらのデジタル記憶媒体では、各方法を実行するために、制御信号を電子的に読み出し、これらの制御信号は、プログラム可能なコンピュータシステムと協調する。一般的に、本発明は、機械で読み取り可能な担体上に、本発明の方法を実行するためのプログラムコードを記憶したコンピュータプログラムプロダクト（コンピュータ上で動作している際に実行できる）を含む。換言すれば、本発明は、コンピュータの上で動作している際に、本発明の方法を実施するためのプログラムコードを有するコンピュータプログラムとして実現可能である。
【図面の簡単な説明】
【００４１】
【図１】本発明のコントローラの概略図である。
【図２】本発明のコントローラの別の実施形態の詳細な概略図である。
【図３】本発明のコントローラの別の実施形態の概略図である。
【符号の説明】
【００４２】
１０２      受信手段
１０４      復号手段
１０６      供給手段
１１２      命令
１１４      受信した命令
１１６      制御信号
１１８      切替信号
１２０      代用制御信号
２０２      受信手段
２０４      復号手段
２０６      供給手段
２０６ａ    メモリ手段
２０６ｂ    切替手段
２１４      受信した命令
２１６      制御信号
２１８      切替信号
２２０      記憶された代用制御信号
２２２      有効な制御信号
３０６      供給手段
３０６ａ    メモリ手段
３０６ｂ    切替手段
３２０      記憶された代用制御信号
３２２      有効な制御信号
３３２      演算手段
３３４      メモリ
３３６      書き込み手段
３４２      メモリ信号
３４４      交換信号
３４６      書き込み信号
【図１】
2005339540.tif 000003
【図２】
2005339540.tif 000004
【図３】
2005339540.tif 000005
【外国語明細書】
2005339540000001.pdf