"内部プロセッサを具備した半導体集積回路を搭載した半導体デバイスであって、内部プロセッサを具備せず、前記半導体集積回路の起動プログラムの認証を行う認証デバイスをさらに搭載したことを特徴とする半導体デバイス。前記半導体集積回路は、非オンボードタイプの外部記憶装置にアクセスするためのインターフェースを有し、前記起動プログラムは、前記外部記憶装置に記憶されていることを特徴とする請求項1に記載の半導体デバイス。前記認証デバイスは、前記半導体集積回路の起動プログラムの認証が不可であった場合、前記半導体集積回路に電源を供給するための電源管理デバイスに、電源オフの命令を行うことを特徴とする請求項1又は2に記載の半導体デバイス。そして、このように複数のCPUを搭載する半導体デバイスの場合、全てのCPUに対して安全に起動することが求められる。プログラム格納デバイスの入れ替え脅威を排除するためには、全ての記憶デバイスを交換リスクがなく安全性の高いデバイスにする必要が生じる。従って、図7で示す半導体デバイスのように、MainSoC71とSubSoC72に対してそれぞれプログラム格納デバイスとして接続する外部記憶装置73,74は、いずれも高セキュリティの装置を採用する必要が生じる。しかしながら、一般的にHDDなど先に挙げた汎用性の高い記憶デバイスに比べ、セキュリティ性の高い記憶デバイスは技術的に高度であったり、販売数量が少ないなどといった理由によりコストが高くなる傾向にある。また、プログラム格納デバイスの入れ替え脅威を排除する場合のコスト高の問題は、複数のSoCを搭載する半導体デバイスに限ったものではなく、1つのSoCを搭載した半導体デバイスについても該当し、そのSoCで使用するプログラム格納デバイスのセキュリティ性を高くする必要があるため、コストが高くなる傾向にある。また、上述したように1つのSoCにセキュリティチップを接続することも考えられるが、このセキュリティチップはTPMで代表されるように内部プロセッサが搭載されたデバイスであるため、コストが嵩む。なお、セキュリティチップ自身もSoCと言えることから、複数のSoCを搭載した半導体デバイスで説明した通り、このセキュリティチップのプログラム格納デバイスも高セキュリティの装置を採用する必要があるため、この点からもセキュリティチップを採用するとコストが高くなる傾向にある。本発明は、上述のような実状に鑑みてなされたものであり、その目的は、半導体集積回路を搭載した半導体デバイスにおいて、半導体集積回路におけるプログラム格納デバイス記憶デバイスの入れ替え脅威を、高いセキュリティレベルで且つ低コストで排除することを可能にすることにある。上記課題を解決するために、本発明の第1の技術手段は、内部プロセッサを具備した半導体集積回路を搭載した半導体デバイスであって、内部プロセッサを具備せず、前記半導体集積回路の起動プログラムの認証を行う認証デバイスをさらに搭載したことを特徴としたものである。第2の技術手段は、第1の技術手段において、前記半導体集積回路は、非オンボードタイプの外部記憶装置にアクセスするためのインターフェースを有し、前記起動プログラムは、前記外部記憶装置に記憶されていることを特徴としたものである。第3の技術手段は、第1又は第2の技術手段において、前記認証デバイスは、前記半導体集積回路の起動プログラムの認証が不可であった場合、前記半導体集積回路に電源を供給するための電源管理デバイスに、電源オフの命令を行うことを特徴としたものである。本発明に係る半導体デバイスによれば、搭載された半導体集積回路におけるプログラム格納デバイス記憶デバイスの入れ替え脅威を、高いセキュリティレベルで且つ低コストで排除することが可能になる。本発明に係る半導体デバイスは、少なくとも1つの半導体集積回路と、その回路の起動プログラムを認証することでその回路を認証するための1つの認証デバイスが搭載されており、これらは一般的には基板上に搭載されている。この半導体集積回路は、プロセッサ内部プロセッサをはじめ、メインメモリ用のメモリI/F、外部デバイスである認証デバイス用の外部I/F、及びレジスタを備えたLSI等の回路であり、以下、プロセッサを有することからSoCとして説明する。図1は、本発明に係る、SoCと認証デバイスとが接続されてなる半導体デバイスの一構成例を示す図である。図2は、図1で例示した本発明に係る半導体デバイスに搭載された認証デバイスの構成例を示す図で、図3は、図1で例示した本発明に係る半導体デバイスに搭載されたSoCの構成例を示す図である。図1で例示するように、本発明に係る半導体デバイスは、認証デバイス1とSoC2とが外部I/Fを介して接続された状態で搭載されている。認証デバイス1は、図2で例示するように、レジスタ10a、外部I/F10b、乱数生成部10c、ハッシュ演算部10d、及びタイマ10eを具備している。認証デバイス1の各構成要素の詳細については後述する。そして、認証デバイス1は、図2の例で示すようにCPU等の内部プロセッサを具備しないデバイス、すなわちCPU機能を含まないデバイスであり、例えば、CPU機能を含まないCPLDComplexProgrammableLogicDeviceやCPU機能を含まないASICApplicationSpecificIntegratedCircuitなどが挙げられる。このような認証デバイス1は、CPU機能を含まずプログラム格納デバイス例えば外部記憶装置に保存するプログラム自体が存在しないため、改竄脅威がなくセキュリティ性が高いものとなる。本発明に係る半導体デバイスでは、このようなセキュアな認証デバイス1を認証元として利用し、外部I/Fで接続されたSoC2の起動プログラムを認証する。なお、認証デバイス1は、後述の構成例に限らず、CPU機能を具備せず且つSoC2の起動プログラムを認証できるような構成であればよい。一方で、認証対象となるSoC2は、CPU等の内部プロセッサを具備したデバイスである。SoC2は、図3で例示するように、内部プロセッサの一例としてのCPU20aの他に、外部I/F20b、メモリコントロール20c、及び外部記憶装置I/F20dを具備し、これらがシステムバスに接続されている。そして、SoC2には、図1では省略しているが、メモリコントロール20cにメインメモリとしてのメモリ4が接続できるようになっている。また、SoC2には、外部記憶装置I/F20dに低セキュリティ外部記憶装置3が接続できるようになっている。なお、SoC2の各構成要素の詳細については後述する。まず、認証デバイス1の各構成要素について説明する。レジスタ10aは、16bitや32bitなどのデータ単位で複数の値を保持することができるモジュールである。各データ単位にはアドレスが割り振られている。また、認証デバイス1は、レジスタ10aの値によって認証デバイス1内の各構成要素の動作を決定することが可能に構成されている。特に、認証デバイス1は、レジスタ10aの値によって、認証デバイス1上のハードウェアをリセットするハードウェアリセットやその解除を行うことが可能に構成されている。外部I/F10bは、認証デバイス1に接続される外部デバイスここではSoC2とデータ転送やメッセージ転送などのやり取りを行うためのI/Fモジュールであり、SoC2がバスマスタ、認証デバイス1がバススレーブとして機能するように構成されている。よって、外部I/F10bは、主にSoC2がレジスタ10aに対してリード/ライトR/WアクセスするためのI/Fとなる。これにより、SoC2のCPU20aは、アドレスが割り振られた各データ単位に対し、外部I/F20b,10bを介して値の読み出しや書き換えを行うことが可能になっている。乱数生成部10cは、認証デバイス1においてハードウェアリセットが解除されたときに1度だけ乱数を生成するモジュールである。乱数生成部10cは、生成した乱数をレジスタ10aに格納する。また、乱数生成部10cは、ハードウェアリセット解除後、直ぐに乱数値を生成するように構成されており、これにより、外部I/F10bからのアクセスより前に乱数値を確定可能になっている。タイマ10eは、認証デバイス1においてハードウェアリセットが解除されると同時に、時間計測を開始するモジュールである。タイマ10eは、時間計測開始から指定時間までにSoC2のデバイス認証が正常終了しなければ、ハードウェアリセットの実行図示しない電源管理ブロックに対するリセットの通知も含むことが好ましいも行う。ハッシュ演算部10dは、自らが生成した乱数値と既知のSoCプログラムハッシュ値SoC2の起動プログラムのデータを元に計算されたハッシュ値とから、さらにハッシュ演算を行い、期待値を生成するモジュールである。ハッシュ演算部10dは、生成した期待値を外部から読み出し不可能な領域に保存する。また、ハッシュ演算部10dは、SoC2から、SoC2側でハッシュ演算されたハッシュデータについてのレジスタ10aへの書き込みが実行されたときに、書き込まれた値と上記期待値とを比較して、正常/異常の判断を行う。認証デバイス1では、このように乱数を利用することでハッシュ値そのものがSoC2に電送されることを防ぐことが好ましい。次に、SoC2の各構成要素について説明する。CPU20aは、SoC2の全体を制御するモジュールである。起動時、低セキュリティ外部記憶装置3に保存しているプログラムデータを読み出し、内部のRAM上に展開することで動作を開始する。なお、このプロセッサとしては、CPUの他に、例えばDSPDigitalSignalProcessor、GPUGraphicsProcessorUnitなど、様々なプロセッサが適用できる。このプログラムデータには、少なくとも起動プログラム以下、起動プログラムSと言うのデータが含まれる。また、CPU20aは、この起動プログラムSに従って、認証デバイス1のレジスタ10aにアクセス可能になっている。外部I/F20bは、SoC2に接続される外部デバイスここでは認証デバイス1とデータ転送やメッセージ転送などのやり取りを行うためのI/Fモジュールである。また、外部I/F20bは、シリアルI/FやパラレルI/FなどのローカルバスのI/Fであり、認証デバイス1及びSoC2の両方が起動していれば、接続のためのネゴシエーション不要で利用することができる。メモリコントロールメモリコントローラ20cは、メインメモリであるメモリ4を接続するためのメモリI/Fの一例であって、SDRAMSynchronousDynamicRAMやDDRSDRAMDoubleDataRateSDRAMなど、基板上で接続されたメモリ4とのデータ送受信を行うモジュールである。メモリコントロール20cは、CPU20aなどからのデータ送受信要求をバス経由で受け付け、指示に従ってメインメモリであるメモリ4に対してデータ送受信要求を行う。また、その結果を、指示元であるCPU20aなどに対して戻す。外部記憶装置I/F20dは、低セキュリティ外部記憶装置3内に保存されたデータの読み出し、書き込みを行うモジュールである。外部記憶装置I/F20dは、CPU20aの指示に従って外部記憶装置3内のデータにアクセスし、主にメモリコントロール20cとの間でデータ送受信を行う。以上のように、本発明に係る半導体デバイスは、SoC2及び認証デバイス1を搭載しており、認証デバイス1が内部プロセッサを具備しない。認証デバイス1は、内部プロセッサを具備しないためプログラムによる起動ではなく、レジスタ10a、乱数生成部10c、ハッシュ演算部10d、及びタイマ10eで例示したようなハードウェア構成の機構を具備し、その機構で起動する。そして、その機構以下、起動機構と言うは、プログラムを必要としないため、起動プログラムSを有するSoC2に比べ信頼性が確保されていると言える。より具体的には、認証デバイス1の起動機構は、SoC2の起動プログラムSが格納された低セキュリティ外部記憶装置3に比べて、高セキュリティと言える。なお、起動プログラムSの格納デバイスとして外部記憶装置を利用する場合に限らず、内部に格納デバイスを設けた場合においても、起動プログラムSの改竄リスクは残るため、上記起動機構より低セキュリティとなる。また、認証デバイス1をより高セキュリティなデバイスとするために、ハードウェア構成自体についても、SoC2に比べ認証デバイス1の方に耐タンパー性をもたせるように構成することが好ましい。そして、上記起動機構は、ハードウェアの機構により信頼性が確保された状態で起動開始した後に、SoC2の認証、つまり起動プログラムSの認証を行う。このように、認証デバイス1は、信頼性を確保可能な方法で起動され、起動後なお、起動開始後であれば起動途中であってもよいにSoC2とのやり取りによって、SoC2の起動プログラムSを認証する。但し、このやり取りは、SoC2がマスタ、認証デバイス1がスレーブとなって実行される。このような認証により、SoC2では、自身でその起動プログラムSの信頼性を確保する必要性がなくなり、外部記憶装置I/F20dに接続する外部記憶装置が低セキュリティのものつまり、低セキュリティ外部記憶装置3で済むため、システムのセキュリティ性を維持しつつ、低コスト化が実現可能となる。特に、認証デバイス1の起動機構は各構成要素10a~10eで例示したように高セキュリティで且つオンボードタイプの機構となっているが、SoC2は外部記憶装置I/Fとして認証デバイス1の起動機構より低セキュリティで且つ非オンボードタイプの外部記憶装置HDDやSDカードなどの汎用的な外部記憶装置にアクセスするためのI/Fを有することが好ましい。つまり、SoC2に接続する起動プログラムSの格納用の外部記憶装置3として、低セキュリティのHDDやSDカードなどの汎用的な外部記憶装置を採用でき、これによりコストを減らすことができる。但し、外部記憶装置3は、非オンボードタイプで無くても認証デバイス1の起動機構より低セキュリティであれば、コストを減らす効果を奏する。次に、図1の半導体デバイスにおける起動処理の一例を、図4及び図5を参照しながら説明する。図4は、図2の認証デバイスの起動処理例を説明するためのフロー図で、図5は、図3のSoCの起動処理例を説明するためのフロー図である。まず、図4を参照しながら認証デバイス1の起動処理例を説明する。半導体デバイス又はそれを搭載した電子機器自体の電源がオンされたときに、認証デバイス1の起動処理も開始される。認証デバイス1は、起動処理として、まずクロックの安定化を待ち、安定化した後に、レジスタ10aの値をハードウェアリセットが解除された状態にするステップS1。認証デバイス1からSoC2に対してアクセスする機能がないため、認証デバイス1は、起動開始後、SoC2からのアクセスを待つ状態となる。言い換えると、認証デバイス1は、自身が起点となり認証動作を開始できない。そこで、ステップS1の後、直ぐにタイマ10eが起動してタイマ動作を開始し、認証完了までの時間をカウントし、それが制限時間上記指定時間内であるかを判定するステップS2。乱数生成部10cが、同様にハードウェアリセット解除後、直ぐに乱数値を生成するステップS3。ここで発生させた乱数値は、SoC2からの読み取りが可能なようにレジスタ10aに格納される。ステップS3の後、ハッシュ演算部10dが、既知のハッシュ値である起動プログラムSのデータを元に計算されたハッシュ値と、乱数生成部10cが生成した乱数値とから、ハッシュ演算を行うことで、期待値のデータを生成するステップS4。この期待値のデータは外部から読み出し不可能な領域に格納しておく。ステップS4に続いて、若しくは少なくともステップS3での乱数値の格納処理より後に、外部I/F10bがSoC2の外部I/F20bとの接続を可能な状態にしておく。そして、認証デバイス1は、SoC2から外部I/F10bを介しての乱数値読み出しのレジスタアクセスがあれば、そのアクセスに応答することで乱数値を出力するステップS5。乱数値のデータ長は256bitや512bitなど、製品のセキュリティ要件やハッシュアルゴリズムに応じて決定すればよい。続いて、認証デバイス1は、SoC2からハッシュデータのレジスタ書き込みアクセスがあったときに、レジスタ10aへの書き込みを行い、ハッシュ演算部10dが、その書き込みがなされたときにステップS6でYESの場合、作成しておいた期待値とそのハッシュデータとが一致するかを確認するステップS7。ステップS7の確認の結果が一致していた場合、ハッシュ演算部10dが、正常起動として、上記レジスタ書き込みアクセスに対する認証完了の応答をSoC2に返しステップS8、タイマ10eを停止する。一方で、認証デバイス1は、ハッシュデータのレジスタ書き込みアクセスがない場合ステップS6でNOの場合には、タイマ10eが指定時間例えば60秒などの経過/未経過を判定しステップS9、未経過であればステップS6に戻ってレジスタ書き込みアクセスを待つ。指定時間が経過した場合ステップS9でYESの場合には、起動プログラムSプログラムで用いる各種パラメータも含むが改竄されて信頼性がないものになっていたこと若しくは接続不良であることを意味するため、タイマ10eがハードウェアリセットの実行を行うステップS10。この場合、認証デバイス1が異常起動として処理を終了したことを意味する。ステップS10のハードウェアリセットには、外部I/F10bを遮断する処理も含まれる。また、ステップS7でNOの場合、つまり確認の結果が一致していなかった場合には、起動プログラムSプログラムで用いる各種パラメータも含むが改竄されていたことを意味するため、ステップS10に進み、タイマ10eがハードウェアリセットの実行を行う。なお、ステップS7でNOの場合には、ステップS10の前に、上記レジスタ書き込みアクセスに対する認証失敗の応答をSoC2に返すようにしてもよい。なお、ステップS5でレジスタアクセスがあることを前提に説明したが、このレジスタアクセスがなければ、後述のステップS13の処理を行わないようなプログラムに起動プログラムSが改竄されていること若しくは接続不良であることを意味するため、そのレジスタアクセスを同じく上記指定時間待って、レジスタアクセスがかければステップS10の処理を実行するようにすることが好ましい。以上のように、認証デバイス1では、その処理として、電源投入後、自動的に乱数生成及び期待値生成の動作が実行されると共に、自動的にタイマ10eが起動され、指定時間内に認証が完了しなければそれを外部に通知する動作ここでは外部I/F10bの遮断動作が実行されるだけであり、処理の途中で主導的にSoC2に対してアクセスする必要もない。よって、認証デバイス1としては、例えば認証デバイス1のハードウェアリセット解除後に一度だけ実行されるハードウェア処理を行う構成のような、全ての処理がプログラムを介さずに動作可能な自動処理を行う構成全ての処理において、CPUの介在が不要な単純処理を行うような構成を採用するだけで済むため、認証デバイス1に内部プロセッサを具備しないような構成を採用できる。次に、図5を参照しながらSoC2の起動処理例を説明する。この起動プログラムSは、SoC2のプログラム格納デバイスの例である低セキュリティ外部記憶装置3に記憶されているものとして説明する。SoC2のCPU20aは、低セキュリティデバイスである外部記憶装置3から起動プログラムSのデータを読み出し、RAM上に展開した後、この起動プログラムSにより起動するステップS11。CPU20aは、起動後、若しくは起動時に読み出した起動プログラムSのデータのハッシュ値を計算するステップS12。ステップS12並びに後述のステップS13~S16の処理は、起動プログラムSの認証換言すると起動プログラムSが格納された低セキュリティ外部記憶装置3がその格納部分で書き換えられていないかの認証を行うためになされる。ステップS12に続いて、若しくは少なくともステップS11の処理後に、外部I/F20bが認証デバイス1の外部I/F10bとの接続を可能な状態にしておく。そして、ステップS12でハッシュ値が求まると、CPU20aは、認証デバイス1に対し、レジスタリードアクセスを行うことで乱数値を取得するステップS13。次に、CPU20aは、既にステップS12で算出している起動プログラムSのデータのハッシュ値と、認証デバイス1から受信した乱数値からさらにハッシュ演算を行い、認証用のハッシュデータを生成するステップS14。そして、CPU20aは外部I/F20bを介し、生成したハッシュデータを認証デバイス1へレジスタライトアクセスすることによって、指定アドレスに書き込みを行うステップS15。その後、CPU20aは、外部I/F20bを介して認証デバイス1からレジスタライトアクセスに対する認証完了応答を待ちステップS16、認証完了応答を受信した場合YESの場合、SoC2の起動処理を完了し、これによりSoC2が通常動作を行う状態になる。一方、認証完了応答が受信されない場合ステップS16でNOの場合、認証完了応答待ちのまま待機状態を継続する。なお、認証デバイス1側の処理として認証失敗の応答も送信する場合には、その認証失敗応答を受けた場合に認証失敗の状態で処理を終了させればよい。以上、図4及び図5の処理例では、認証デバイス1が認証完了応答を返信するようにしておき、SoC2側がその返信を受けた場合に起動を完了するように説明した。この処理例では、SoC2が正常終了したか/異常終了したかを判定できるため、正常終了/異常終了に応じてSoC2は異なる動作を実行できる。なお、ステップS16の判定に制限時間を設けておくことでその判定をその制限時間内に済ませることもできる。但し、SoC2の起動完了に係る処理は、外部I/F20bにおけるI/Fプロトコルに応じて決まるため、図4及び図5で例示したような処理に限ったものではない。例えば、外部I/F20bにおいて、I/Fプロトコルとして応答が定義されていないレガシープロトコルを採用することもできる。実際、レガシープロトコルでは応答が定義されていないことが多い。このような構成を採用した場合、応答が定義されていないために、SoC2は起動が正常終了であったのか異常終了であったのかの判定ができないが、そもそもSoC2は異常終了を必ずしも知る必要がない。この場合、SoC2は常に正常終了するが、システムが異常終了の場合は、SoC2の外部からシャットダウン要求がくるように構成しておけばよい。このシャットダウン要求は、例えば認証デバイス1がステップS10で実行するハードウェアリセットの一処理として実行すればよい。SoC2は、このシャットダウン要求に従い、正常終了後直ぐに通常のシャットダウンを行えばよい。以上のように、SoC2は低セキュリティの外部記憶装置3を利用して起動することが可能であり、また、搭載されたSoCにおけるプログラム格納デバイス記憶デバイスの入れ替えがなされても、正常起動しないため、高いセキュリティレベルでその入れ替えを排除することができる。つまり、SoC2では、セキュリティ性を維持しつつ、外部記憶装置にかかるコストを低減することが可能である。また、認証デバイス1も、CPU機能をもたないためCPU機能に係るコストと起動プログラムの格納デバイスのコストも低減することができる。図6は、本発明に係る、SoCと認証デバイスとが接続されてなる半導体デバイスの他の構成例を示す図である。図6で例示する構成例は、図1の構成例において、認証デバイス1に電源管理デバイス5が接続されてなる。認証デバイス1と電源管理デバイス5は低速通信ライン、例えばUARTUniversalAsynchronousReceiverTransmitter、USARTやI2CInterIntegratedCircuitやSMBusSystemManagementBusなどのシリアル通信で接続されることが多い。図4及び図5で説明した流れでは、異常終了の場合に、認証デバイス1がSoC2に対して何も応答しない若しくは認証失敗応答を返すことでSoC2を正常起動させないようにしたが、さらに確実にSoC2及び認証デバイス1を備えたシステム全体を停止するために、次のような制御を付加することが好ましい。つまり、認証デバイス1は、SoC2の起動プログラムSの認証が不可であった場合、電源管理デバイス5に電源オフの命令を行う。より具体的には、認証デバイス1はハードウェアリセット図4のステップS10の主たる処理として、認証デバイス1とSoC2を含むシステムへの電源供給を管理する電源管理デバイス5に対して、電源停止を促す停止通知信号電源停止命令を発行する。電源管理デバイス5は、上記通信ラインを利用して認証デバイス1からのこの信号を受信すると、システム全体への電源供給を停止するシャットダウン状態に移行する。このようにして電源オフを行うことで、さらに確実な高セキュリティ性を得ることが可能となる。ここで、半導体デバイスに設けられた電源管理デバイス5が、一度に認証デバイス1とSoC2を含むシステムの電源をオン/オフするような制御を行うデバイスであることを前提に説明したが、ASoC2と認証デバイス1との電源を個別に制御できるデバイスであるか、BSoC2用の電源管理デバイスと認証デバイス1用の電源管理デバイスなどといった具合に個別の電源管理デバイスであってもよい。上記A,Bいずれの場合でも、認証デバイス1からの電源オフ命令は、SoC2への電源供給のみをオフする命令が少なくとも含まれていれば、少なくともこのSoC2の電源がオフできるため、さらに確実な高セキュリティ性を得ることが可能となる。また、その場合、図4のステップS10におけるハードウェアリセットの前に、SoC2の電源に関するオフ命令を発すればよく、また、ステップS10におけるハードウェアリセットに認証デバイス1自身への電源供給をオフする命令を含めておくことが好ましい。以上、本発明に係る半導体デバイスについて、図1~図5の構成例及び図6の構成例では、起動プログラムSの認証を行う方法としてハッシュ計算を用いることを前提に説明したが、これに限らず、例えば公開鍵暗号方式を利用して認証を行ってもよい。また、図1や図6の構成例では、半導体デバイスに搭載されるSoCの数、認証デバイスの数がいずれも1つであって、認証デバイス1が起動プログラムSの認証を行う場合を例示したが、本発明に係る半導体デバイスでは、いずれの数も1つ以上であれば適用できる。例えば、認証デバイスとSoCとが一対一で接続されてなるセットを複数、半導体デバイスに搭載しておくことができる。他の例として、本発明は、1つの認証デバイスに複数のSoCが接続され、これらのSoCの起動プログラムがその認証デバイスによって認証されるような半導体デバイスであっても適用できる。この例の場合、認証デバイスにタイマやレジスタを多く具備しておくことで実現できるが、代わりに、認証の順番を決めておくか、若しくはSoCの起動処理の速度を異ならせておくなどにより、簡潔な処理構造のまま複数のSoCに対応させることもできる。"