(57)【特許請求の範囲】
【請求項１】
周辺機器を介したデータの流れを制御する周辺機器制御装置であって、
１以上の周辺機器の動作を制御可能な周辺機器制御プロセッサと、
前記周辺機器制御プロセッサと、前記周辺機器制御装置の外部に設けられ前記１以上の周辺機器の動作を制御するメインプロセッサと、前記１以上の周辺機器とを接続するバスと、
前記メインプロセッサと前記周辺機器制御プロセッサとが、前記１以上の周辺機器にアクセスするために参照するアドレスを格納する制御アドレス格納部と、
前記メインプロセッサおよび前記周辺機器制御プロセッサへの通電を制御して、前記メインプロセッサおよび前記周辺機器制御プロセッサの起動を制御するシステム制御部と、
前記メインプロセッサの休止時における前記周辺機器制御プロセッサへの通電の可否を示す通電可否指標を格納する通電指標格納部とを備え、
前記バスは、前記メインプロセッサが動作している間は、前記周辺機器制御プロセッサによる周辺機器へのアクセスを禁止し、
前記システム制御部は、前記メインプロセッサが休止する場合に前記通電指標格納部が格納する通電可否指標を参照し、当該通電可否指標が前記周辺機器制御プロセッサへの通電を許可する場合、前記周辺機器制御プロセッサへの通電を維持することを特徴とする周辺機器制御装置。
【請求項２】
前記バスは、前記メインプロセッサが休止している間は、前記周辺機器制御プロセッサによる周辺機器へのアクセスを許可することを特徴とする請求項１に記載の周辺機器制御装置。
【請求項３】
前記周辺機器は、前記メインプロセッサと前記周辺機器制御プロセッサとがアクセス可能なデータを記憶するための記憶装置を備え、
前記記憶装置が記憶するデータは、前記メインプロセッサが実行することによって、前記周辺機器制御装置および前記１以上の周辺機器の動作を制御するためのオペレーティングシステムプログラムを含み、
前記制御アドレス格納部は、
前記記憶装置が記憶する任意のデータにアクセスするための第１記憶装置参照アドレスと、
前記記憶装置が記憶するデータのうち、前記オペレーティングシステムプログラムを格納する領域を除く領域にアクセスするための第２記憶装置参照アドレスとを格納し、
前記バスは、前記周辺機器制御プロセッサによる前記第１記憶装置参照アドレスの参照を禁止することを特徴とする請求項１または２に記載の周辺機器制御装置。
【請求項４】
前記周辺機器制御プロセッサによる前記第２記憶装置参照アドレスの参照の可否を示すアクセス可否指標を格納するアクセス指標格納部をさらに備え、
前記バスは、
前記アクセス指標格納部が格納するアクセス可否指標が、前記周辺機器制御プロセッサによる前記第２記憶装置参照アドレスの参照が可能であることを示しているときは、前記周辺機器制御プロセッサによる前記第２記憶装置参照アドレスの参照を許可し、
前記周辺機器制御プロセッサによる前記第２記憶装置参照アドレスの参照が可能でないことを示しているときは、前記周辺機器制御プロセッサによる前記第２記憶装置参照アドレスの参照を禁止することを特徴とする請求項３に記載の周辺機器制御装置。
【請求項５】
前記アクセス指標格納部は、前記周辺機器制御プロセッサによる前記アクセス可否指標の変更を禁止することを特徴とする請求項４に記載の周辺機器制御装置。
【請求項６】
前記制御アドレス格納部は、当該制御アドレス格納部が格納するアドレスと周辺機器との対応関係を変更するときに参照する編集時参照アドレスを格納し、
前記バスは、前記メインプロセッサによる前記編集時参照アドレスの参照を許可するとともに、前記周辺機器制御プロセッサによる前記編集時参照アドレスの参照を禁止することを特徴とする請求項１から５のいずれかに記載の周辺機器制御装置。
【請求項７】
１以上の周辺機器と、
前記周辺機器を介したデータの流れを制御する周辺機器制御装置と、
前記周辺機器制御装置の外部に設けられ前記１以上の周辺機器の動作を制御するメインプロセッサとを備え、
前記周辺機器制御装置は、
前記１以上の周辺機器の動作を制御可能な周辺機器制御プロセッサと、
前記周辺機器制御プロセッサ、前記メインプロセッサ、および前記１以上の周辺機器とを接続するバスと、
前記メインプロセッサと前記周辺機器制御プロセッサとが、前記１以上の周辺機器にアクセスするために参照するアドレスを格納する制御アドレス格納部と、
前記メインプロセッサおよび前記周辺機器制御プロセッサへの通電を制御して、前記メインプロセッサおよび前記周辺機器制御プロセッサの起動を制御するシステム制御部と、
前記メインプロセッサの休止時における前記周辺機器制御プロセッサへの通電の可否を示す通電可否指標を格納する通電指標格納部とを備え、
前記バスは、前記メインプロセッサが通電されて動作している間は、前記周辺機器制御プロセッサによる周辺機器へのアクセスを禁止し、
前記システム制御部は、前記メインプロセッサが休止する場合に前記通電指標格納部が格納する通電可否指標を参照し、当該通電可否指標が前記周辺機器制御プロセッサへの通電を許可する場合、前記周辺機器制御プロセッサへの通電を維持することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器制御装置および周辺機器制御装置を備える情報処理装置に関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）やゲーム機等の情報処理装置の高性能化が急速に進行している。これらの情報処理装置は高性能なＣＰＵ（Central Processing Unit）を備え、種々の周辺機器との間で大量のデータを転送したり、取得したデータを処理したりするようになってきている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
情報処理装置の高性能化に伴って、これらの装置が実行するプログラムやデータの容量も増大する傾向にあり、例えばネットワークを介してこれらのプログラムやデータをダウンロードするために要する時間も増加する傾向にある。一方で、これらの機器の消費電力を低減することも求められている。
【０００４】
本発明はこうした課題に鑑みてなされたものであり、その目的は、周辺機器の制御に要する電力消費を抑制する技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様は、周辺機器を介したデータの流れを制御する周辺機器制御装置である。この周辺機器制御装置は、１以上の周辺機器の動作を制御可能な周辺機器制御プロセッサと、周辺機器制御プロセッサと、周辺機器制御装置の外部に設けられ１以上の周辺機器の動作を制御するメインプロセッサと、１以上の周辺機器とを接続するバスとを備える。バスは、メインプロセッサと周辺機器制御プロセッサとが、１以上の周辺機器にアクセスするために参照するアドレスを格納し、メインプロセッサが動作している間は、周辺機器制御プロセッサによる周辺機器へのアクセスを禁止する。
【０００６】
本発明の別の態様は、情報処理装置である。この装置は、１以上の周辺機器と、周辺機器を介したデータの流れを制御する周辺機器制御装置と、周辺機器制御装置の外部に設けられ１以上の周辺機器の動作を制御するメインプロセッサとを備える。周辺機器制御装置は、１以上の周辺機器の動作を制御可能な周辺機器制御プロセッサと、周辺機器制御プロセッサ、メインプロセッサ、および１以上の周辺機器とを接続するバスであって、メインプロセッサと周辺機器制御プロセッサとが、１以上の周辺機器にアクセスするために参照するアドレスを格納するバスとを備える。バスは、メインプロセッサが通電されて動作している間は、周辺機器制御プロセッサによる周辺機器へのアクセスを禁止する。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば周辺機器の制御に要する電力消費を抑制する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る情報処理システムの一例を示す図である。
【図２】実施の形態に係る情報処理装置の内部構成を模式的に示す図である。
【図３】実施の形態に係る情報処理装置が取り得る動作モードを示す図である。
【図４】実施の形態に係るロールバック攻撃を防止する機能を説明するための図である。
【図５】実施の形態に係る周辺機器制御プロセッサが記憶装置におけるその他の記憶領域に参照する際の処理の流れを説明するフローチャートである。
【図６】実施の形態に係る制御アドレス格納部のデータ構造を模式的に示す図である。
【図７】実施の形態に係る情報処理装置が第１動作モードから他の動作モードに遷移するときの処理の流れを説明するフローチャートである。
【図８】実施の形態に係る情報処理装置が取り得る動作モードの遷移図である。
【図９】実施の形態に係る情報処理装置のパワーグループを示す図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態の概要を述べる。本発明の実施の形態に係る情報処理装置は、メインプロセッサとは別に、メインプロセッサよりも電力消費が少ない、周辺機器の制御に特化した周辺機器制御プロセッサを備える。メインプロセッサが動作している間は、メインプロセッサが周辺機器の制御を行うが、メインプロセッサが休止中は周辺機器制御プロセッサが周辺機器の動作を制御する。ソフトウェア処理の負荷は小さいが実行に時間を要するような処理を周辺機器制御プロセッサが担うことにより、周辺機器の制御に要する消費電力を低減することができる。
【００１１】
（情報処理システムの構成）
図１は、実施の形態に係る情報処理システム１００の一例を示す図である。実施の形態係る情報処理システム１００は、情報処理装置２００、表示装置３００、およびコントローラ４００を備える。
【００１２】
表示装置３００は、情報処理装置２００が出力する映像を表示する。表示装置３００は、例えば液晶モニタや有機ＥＬ（Electroluminescence）モニタ、ＰＤＰ（Plasma Display Panel）、ＣＲＴ（Cathode Ray Tube）モニタなどを用いて実現できる。なお、表示装置３００は情報処理装置２００の周辺機器のひとつとして、例えば情報処理装置２００のＨＤＭＩ（登録商標）端子（図示せず）を介して接続する。
【００１３】
情報処理装置２００は、後述するメインプロセッサや記憶装置を備え、種々のアプリケーションソフトウェアを実行する。また、情報処理装置２００は様々な周辺機器と接続可能である。例えば、情報処理装置２００は光学ディスクドライブ２０２を備え、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、Ｂｌｕ−ｒａｙ（登録商標）ディスク等の光学ディスクが格納する情報を読み出すことができる。情報処理装置２００はまたＵＳＢ（Universal Serial Bus）ポート２０４を備え、ＵＳＢを介して図示しないカメラやキーボード等と接続することができる。
【００１４】
情報処理装置２００はさらに、図示しないＷｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信モジュールを備え、対応する周辺機器と無線で通信することもできる。図１に示す例では、情報処理装置２００のコントローラ４００は、無線で情報処理装置２００と接続する。なお、コントローラ４００はＵＳＢケーブル等の有線で情報処理装置２００と接続することもでき、この場合、有線で送られた電力を用いてコントローラ４００内の図示しないバッテリを充電することもできる。
【００１５】
この他、情報処理装置は、図示しないＬＡＮ（Local Area Network）ポートを介して有線で、あるいは上述した無線通信モジュールを介して無線でインターネットに接続し、情報をやりとりすることができる。さらに、情報処理装置２００はＩＥＥＥ１３９４端子、ＭＩＤＩ（Musical Instrument Digital Interface）端子等を介して周辺機器と接続できるようにしてもよい。
【００１６】
図１は情報処理装置２００の一例として据え置き型のゲーム機器を示すが、情報処理装置２００は据え置き型のゲーム機器に限られず、例えばＰＣやＢｌｕ−ｒａｙ／ＤＶＤレコーダ等であってもよい。また情報処理装置２００は据え置き型に限られず、携帯ゲーム機やスマートフォン、携帯電話、電子書籍端末、タブレットＰＣ等の携帯型の電子機器であってもよい。その場合、表示装置３００は情報処理装置２００と一体となっていてもよい。
【００１７】
図２は、実施の形態に係る情報処理装置２００の内部構成を模式的に示す図である。実施の形態に係る情報処理装置２００は、少なくとも、メインプロセッサ２１０と周辺機器制御装置２５０とを備える。なお図２は、実施の形態に係る情報処理装置２００を実現するための構成を示しており、その他の構成は省略している。
【００１８】
本明細書において「周辺機器」は、例えば情報処理装置２００とは異なるハードウェアであって、情報処理装置２００と接続して使用する機器のことをいう。情報処理装置２００の周辺機器は種々存在するが、例えば、上述した表示装置３００やコントローラ４００、キーボード、光学ディスクドライブ、カメラの他、マウス等のポインティングデバイス、ネットワーク機器、記憶装置、メモリカード、プリンタ、スピーカ等があげられる。
【００１９】
図２において記憶装置２５８は周辺機器のひとつであり、周辺機器制御装置２５０や周辺機器を含む情報処理装置２００を統括的に制御するためのオペレーティングシステムプログラムや、その他のアプリケーションプログラムおよびデータを格納する。記憶装置２５８は、例えばＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の既知の大容量記憶装置を用いて実現される。また図２において、記憶装置２５８以外の他の周辺機器は、その他の周辺機器２６０として総称しているが、その他の周辺機器２６０には上述した種々の周辺機器の少なくともひとつを含み得る。以下、本明細書において、記憶装置２５８とその他の周辺機器２６０とを区別しない場合は、単に周辺機器２６１と記載する。
【００２０】
周辺機器制御装置２５０は、周辺機器２６１とメインプロセッサ２１０との間のデータの流れを制御する装置であり、サウスブリッジ(Southbridge)と呼ばれることもある。メインプロセッサ２１０は周辺機器制御装置２５０の外部に設けられており、周辺機器制御装置２５０を介して取得したオペレーティングシステムプログラムやアプリケーションプログラムを実行したり、データ等を処理したりする。このため、メインプロセッサ２１０は周辺機器制御装置２５０を介して１以上の周辺機器２６１の動作を制御することができる。メインプロセッサ２１０による周辺機器２６１の動作制御の具体例としては、例えば周辺機器２６１のひとつであるメモリカードが格納するデータを、メインメモリ２１１（図９に示す）にＤＭＡ（Direct Memory Access）転送させる制御である。
【００２１】
周辺機器制御装置２５０はバス２５２を備え、バス２５２は、メインプロセッサ２１０と、１以上の周辺機器２６１とを接続する。バス２５２は周辺機器インタフェース２５４と接続しており、周辺機器インタフェース２５４を介して１以上の周辺機器２６１と接続する。周辺機器制御装置２５０はまた、１以上の周辺機器２６１の動作を制御可能な周辺機器制御プロセッサ２５６も備え、周辺機器制御プロセッサ２５６はバス２５２と接続している。周辺機器制御プロセッサ２５６はメインプロセッサ２１０とは独立して動作するプロセッサであり、情報処理装置２００はメインプロセッサ２１０が動作していないときでも、周辺機器制御プロセッサ２５６を動作させて１以上の周辺機器２６１を制御することができる。
【００２２】
図示はしないが、バス２５２は、周辺機器２６１とメインメモリ２１１との間でデータを転送するために使用されるデータバスや、データ転送元および転送先を定めるためのアドレスを転送するアドレスバス、その他周辺機器２６１の制御に利用する制御バス等を含む。
【００２３】
例えばメインプロセッサ２１０や周辺機器制御装置２５０が、記憶装置２５８中に格納されたデータをメインメモリ２１１にＤＭＡ転送させる場合、メインプロセッサ２１０または周辺機器制御装置２５０は、記憶装置２５８にアクセスするためのバス２５２におけるアドレスを用いて記憶装置２５８を特定する。またメインプロセッサ２１０または周辺機器制御装置２５０は、データの転送先を示すメインメモリ２１１のメモリアドレスを用いて、データの転送先を特定する。これらのアドレスはバス２５２中のアドレスバスを介して転送され、実際のデータはバス２５２中のデータバスを介して転送される。
【００２４】
制御アドレス格納部２６２は、メインプロセッサ２１０と周辺機器制御プロセッサ２５６とが、１以上の周辺機器２６１にアクセスするために参照するバス２５２のアドレスを格納する。アドレス参照についての詳細は後述するが、メインプロセッサ２１０や周辺機器制御装置２５０は、制御アドレス格納部２６２が格納するアドレスを参照することで、周辺機器２６１を制御することができる。
【００２５】
（情報処理装置の動作モード）
以下、実施の形態に係る情報処理装置２００における周辺機器２６１の制御に関し、メインプロセッサ２１０と周辺機器制御プロセッサ２５６との役割分担について説明し、続いて情報処理装置２００の動作モードについて説明する。
【００２６】
メインプロセッサ２１０は、情報処理装置２００の電源が投入され、情報処理装置２００が完全に起動しているときに動作するプロセッサである。メインプロセッサ２１０は周辺機器制御プロセッサ２５６と比較すると処理能力が高く、負荷の高いソフトウェアプログラムを実行することができる。一方で、メインプロセッサ２１０は周辺機器制御プロセッサ２５６と比較して消費電力も大きく、動作中の発熱も大きい。
【００２７】
例えばネットワークを介して情報処理装置２００のオペレーティングシステムプログラムやファームウェアプログラムの更新をするとき等、ソフトウェアの実行負荷は高くはないものの長時間の動作となり得るような処理には、メインプロセッサ２１０は過剰性能である。このような処理にメインプロセッサ２１０を動作させると、消費電力が大きいのみならず、発熱によってメインプロセッサ２１０を含む基板の寿命を短くしかねない。
【００２８】
そこで実施の形態に係る情報処理装置２００は、上述のような処理をする際には、周辺機器制御装置２５０を使用する。例えば夜間等のユーザが使用していない時期にメインプロセッサ２１０には通電せずに周辺機器制御プロセッサ２５６のみを動作させて、プログラムのダウンロード等の処理を実行する。これにより、メインプロセッサ２１０の温度サイクル寿命に依存しないサービスが提供可能となり、上述のような処理に要する電力消費を数十分の一に低減することも可能となる。なお、図２においてサブメモリ２７６は、周辺機器制御プロセッサ２５６の主記憶として用いられ、メモリインタフェース２７４およびバス２５２を介して周辺機器制御プロセッサ２５６と接続している。サブメモリ２７６は、例えばＳＲＡＭ、ＤＲＡＭ等の既知の技術を用いて実現できる。
【００２９】
このように、実施の形態に係る情報処理装置２００において、周辺機器制御プロセッサ２５６は、メインプロセッサ２１０が動作していないときに、メインプロセッサ２１０に代わって周辺機器２６１の動作を制御する。メインプロセッサ２１０が動作しているときは、周辺機器の制御権はメインプロセッサ２１０が保持するため、周辺機器制御プロセッサ２５６は通電されてはいるが特段の処理は行わない。
【００３０】
ここで、周辺機器制御装置２５０はシステム制御マイコン２６４を備え、システム制御マイコン２６４は、休止中のメインプロセッサ２１０や周辺機器制御プロセッサ２５６に電源を供給し、これらを起動する。システム制御マイコン２６４は、メインプロセッサ２１０および周辺機器制御プロセッサ２５６への通電、すなわち電力供給を制御して、メインプロセッサ２１０および周辺機器制御プロセッサ２５６の起動を制御する。この意味において、システム制御マイコン２６４は、情報処理装置２００におけるシステム制御部として機能する。以下、メインプロセッサ２１０、周辺機器制御プロセッサ２５６、およびシステム制御マイコン２６４の動作状態に応じて定まる情報処理装置２００の動作モードについて説明する。
【００３１】
図３は、実施の形態に係る情報処理装置２００が取り得る動作モードを示す図である。図３に示すように、実施の形態に係る情報処理装置２００が取り得る動作モードは３種類である。
【００３２】
第１動作モードは、メインプロセッサ２１０が通電されて動作するモードである。第１動作モードにおいては、周辺機器制御プロセッサ２５６にも通電しているが、特段の処理を行わない待機状態となっている。あるいは、第１動作モードにおいて、周辺機器制御プロセッサ２５６は、クロック停止かつリセットの休止状態としてもよい。いずれにしても、第１動作モードは、周辺機器制御装置２５０がいわばＩ／ＯブリッジＬＳＩ（Large Scale Integration）として動作するブリッジモードである。
【００３３】
第２動作モードは、メインプロセッサ２１０には通電されず休止し、周辺機器制御プロセッサ２５６が動作するモードである。第２動作モードは、周辺機器制御装置２５０がメインプロセッサ２１０に代わるサブシステムとして動作するサブシステムモードである。第２動作モードでは、周辺機器制御プロセッサ２５６が周辺機器２６１の動作を制御し、メインプロセッサ２１０が電力を消費することはない。
【００３４】
第３動作モードは、メインプロセッサ２１０および周辺機器制御プロセッサ２５６に通電されずに休止し、システム制御マイコン２６４が動作するモードである。システム制御マイコン２６４は周辺機器制御プロセッサ２５６と比較してもさらに処理能力が低く、周辺機器２６１の動作を制御することができない。したがって、第３動作モードは、例えば図示しない電源ボタンがユーザによって投入されること等を契機として、メインプロセッサ２１０を動作させるためのスタンバイモードである。第３動作モードでは、システム制御マイコン２６４はリアルタイムクロック２６６（real-time clock；ＲＴＣ）を参照してタイマで周辺機器制御プロセッサ２５６を起動し、周辺機器制御プロセッサ２５６があらかじめ定められたタスク（例えばネットワークを介したソフトウェアプログラムのダウンロード等）を実行することもできる。なお、システム制御マイコン２６４は、情報処理装置２００の電源および温度管理等を目的として常に動作している。
【００３５】
（バスプロテクション）
上述したとおり、実施の形態に係る情報処理装置２００は、消費電力の大きなメインプロセッサ２１０を用いずに周辺機器制御プロセッサ２５６を用いて周辺機器２６１を制御できるので、メインプロセッサ２１０の温度サイクル寿命に依存しないサービスの提供や、消費電力の抑制が可能となる。しかしながら、周辺機器制御プロセッサ２５６が周辺機器２６１を制御可能であることは、悪意のある第三者等が何らかの手段によって周辺機器制御プロセッサ２５６の制御権を取得すると、周辺機器２６１も制御され得るということを意味する。その結果、例えばメインプロセッサが周辺機器２６１を介してデータをメインメモリにＤＭＡ転送させている間に、周辺機器制御プロセッサ２５６が、メインプロセッサが設定したＤＭＡセッティングやディスクリプタ等を書き換えることで、バッファフォーバーフロー攻撃が仕掛けられる危険性がないとは言い切れない。
【００３６】
実施の形態に係る情報処理装置２００は、第三者によるバッファオーバーフロー攻撃を防止するために、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４によるバス２５２を介した周辺機器２６１へのアクセスを禁止するバスプロテクション機能を備える。以下、実施の形態に係る情報処理装置２００のバスプロテクション機能について説明する。
【００３７】
図２において、バス２５２は、メインプロセッサ２１０が動作している間、すなわち情報処理装置２００が第１動作モードの間は、周辺機器制御プロセッサ２５６による周辺機器２６１にアクセスするためのバス２５２のアドレス（以下、「周辺機器アドレス」という。）のアクセスを禁止する。なお、情報処理装置２００が第１動作モードの間であっても、システム制御マイコン２６４は情報処理装置２００の電源および温度管理のための周辺機器２６１にはアクセス可能である。またバス２５２は、メインプロセッサ２１０が休止している間、すなわち情報処理装置２００が第２動作モードの間は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による周辺機器アドレスへのアクセスを許可する。
【００３８】
このように、バス２５２は、情報処理装置２００の動作モードに応じて周辺機器制御プロセッサ２５６による周辺機器アドレスへのアクセスの可否を制御する。これにより、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、メインプロセッサ２１０が周辺機器２６１にＤＭＡ転送している間に第三者は周辺機器制御プロセッサ２５６を介してバッファオーバーフロー攻撃を防止することができる。なお、情報処理装置２００の電源および温度管理のための周辺機器２６１はＤＭＡ機能を持たないため、第三者はこれらの周辺機器２６１を利用したバッファオーバーフロー攻撃はできない。
【００３９】
制御アドレス格納部２６２が格納する周辺機器アドレスは、制御対象の周辺機器２６１を一意に特定するために、各周辺機器に一対一に対応づけられたバス２５２のアドレスである。したがって、どの周辺機器２６１にどのような周辺機器アドレスを割り当てるかには自由度があり、変更可能である。実施の形態に係る情報処理装置２００において、周辺機器アドレスの割り当は、周辺機器２６１のＴＡ（トランスレーションアドレス）機能を使用して実現される。例えば、メインプロセッサ２１０や周辺機器制御プロセッサ２５６が、周辺機器アドレスにおけるアドレスＸに対応づけられた周辺機器Ｘにアクセスするときに、プロセッサが実際にアクセスするアドレスがアドレスＡであるとする。また、周辺機器アドレスにおけるアドレスＹに対応づけられた別の周辺機器Ｙにアクセスするときに、プロセッサが実際にアクセスするアドレスがアドレスＢであるとする。ＴＡ機能は、アドレスＡをアドレスＸに変換するとともに、アドレスＢをアドレスＹに変換する既知の技術である。編集時参照アドレス格納部２６９に格納されている編集時参照アドレスは、ＴＡ機能におけるアドレス変換の対応関係を編集するために参照するアドレスである。メインプロセッサ２１０は、編集時参照アドレスを介して、アドレス変換の対応関係を編集することができる。
【００４０】
周辺機器制御装置２５０は周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による第２記憶装置参照アドレスの参照の可否を示すアクセス可否指標を格納するアクセス指標格納部２６８を備えている。メインプロセッサ２１０がアクセス指標格納部２６８へのアクセスにより、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による特定の周辺機器アドレスへのアクセスを禁止したとする。このとき、アクセス指標格納部２６８へのアクセスが、第三者によって上述したＴＡ機能におけるアドレス変換の対応関係が編集されて書き換えられることにより全く別のアドレス空間に変更されたとする。例えば、上記の例においてアドレスＡをアドレスＹに変換するとともに、アドレスＢをアドレスＸに変換するように変換されたとする。このような場合、例えば周辺機器Ｘのアクセスを禁止しようとしても、アドレス変換の対応関係が変更されると、メインプロセッサ２１０によるへのアクセス禁止設定は行われていないこととなり、当該周辺機器２６１を周辺機器制御プロセッサ２５６によって制御されてしまう事態も起こりうる。
【００４１】
そこでバス２５２は、メインプロセッサ２１０による編集時参照アドレスのアクセスは許可する。一方バス２５２は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による編集時参照アドレスへのアクセスを、情報処理装置２００の動作モードによらず禁止する。これにより、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、周辺機器制御プロセッサ２５６はアドレス変換の対応関係を変更することはできず、結果として周辺機器制御プロセッサ２５６によって周辺機器２６１が制御されることを防止することができる。以下本明細書において、メインプロセッサ２１０等がＴＡ機能にるアドレス変換を介して周辺機器２６１にアクセスすることを前提とする。各プロセッサが特定の周辺機器２６１にアクセスする際に参照するアドレスは、当該周辺機器２６１と１対１に対応する。このため、ＴＡ機能におけるアドレス変換の対応関係を変更することを、単に「周辺機器アドレスと周辺機器との対応関係を変更する」のように記載する。
【００４２】
なお、バス２５２および制御アドレス格納部２６２を用いたバス２５２のアドレスへの参照を許可するか否かの制御は、バスプロテクション機能を有する既知のバスを用いて実現できる。実施の形態に係る情報処理装置２００は、バスプロテクション機能を備える既知のバスを利用して、上述したプロセッサ毎の動作モードに応じた周辺機器アドレスへのアクセス制御を実現している。
【００４３】
（オペレーティングシステムプログラムのロールバック攻撃の防止）
以上、実施の形態に係る情報処理装置２００のバスプロテクション機能について説明した。バスプロテクション機能を含め、情報処理装置２００のセキュリティの少なくとも一部は、記憶装置２５８が格納するオペレーティングシステムプログラムをメインプロセッサ２１０が実行することで実現されている。
【００４４】
一般に、オペレーティングシステムプログラムは新機能の追加やセキュリティの向上を目的としてしばしばアップデートされるため、最新のオペレーティングシステムプログラムが最も充実したセキュリティ機能を実現することができる。このため、第三者によって記憶装置２５８が格納するオペレーティングシステムプログラムをダウングレードされる、いわゆるロールバック攻撃が成功すると、情報処理装置２００のセキュリティ機能が低下することも起こり得る。
【００４５】
そこで実施の形態に係る情報処理装置２００は、上述したバスプロテクション機能を利用して、オペレーティングシステムプログラムのロールバック攻撃を防止する機能を備える。以下、オペレーティングシステムプログラムのロールバック攻撃の防止について説明する。
【００４６】
図４は、実施の形態に係るロールバック攻撃を防止する機能を説明するための図である。図４に示すように、記憶装置２５８は、オペレーティングシステムプログラムを格納するオペレーティングシステムの記憶領域２５８ａと、オペレーティングシステムプログラム以外のその他のプログラムやデータを格納するその他の記憶領域２５８ｂとのふたつの記憶領域を備える。なお、記憶領域２５８ａと記憶領域２５８ｂとは記憶装置２５８において物理的に異なる領域である。これらの領域は、情報処理装置２００の製造者等が、製造時に一度だけ周辺機器制御装置２５０上に設定可能であり、以後は変更することができない。
【００４７】
記憶装置２５８は周辺機器２６１のひとつであり、基本的にメインプロセッサ２１０や周辺機器制御プロセッサ２５６、システム制御マイコン２６４がアクセス可能である。メインプロセッサ２１０や周辺機器制御プロセッサ２５６、システム制御マイコン２６４が記憶装置２５８にアクセする際には、他の周辺機器２６１の場合と同様に、制御アドレス格納部２６２が格納する記憶装置２５８にアクセスするためのアドレスを参照する。
【００４８】
ここで制御アドレス格納部２６２は、記憶装置２５８が記憶するデータのうち、オペレーティングシステムプログラムを格納する記憶領域２５８ａにアクセスするための第１記憶装置参照アドレスと、オペレーティングシステムプログラムを格納する領域を除くその他の記憶領域２５８ｂにアクセスするための第２記憶装置参照アドレスとを格納する。ここで制御アドレス格納部２６２は、記憶装置２５８が記憶する任意のデータ、すなわち記憶装置２５８の全記憶領域にアクセス可能な第１記憶装置参照アドレスと、オペレーティングシステムプログラムを格納する領域を除くその他の記憶領域２５８ｂにのみアクセス可能な第２記憶装置参照アドレスとを格納する。バス２５２は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による第１記憶装置参照アドレスの参照を、情報処理装置２００の動作モードによらず禁止する。
【００４９】
メインプロセッサ２１０は、第１記憶装置参照アドレスを参照してその他の記憶領域２５８ｂにアクセスする。周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４は、第２記憶装置参照アドレスを参照してその他の記憶領域２５８ｂにアクセスするが、バス２５２は、周辺機器制御プロセッサ２５６またはシステム制御マイコン２６４による第２記憶装置参照アドレスの参照を常に許可するわけではない。
【００５０】
より具体的には、上述したとおり、周辺機器制御装置２５０は周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による第２記憶装置参照アドレスの参照の可否を示すアクセス可否指標を格納するアクセス指標格納部２６８を備えている。バス２５２は、アクセス指標格納部２６８が格納するアクセス可否指標が、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照が可能であることを示しているときは、周辺機器制御プロセッサ２５６またはシステム制御マイコン２６４による第２記憶装置参照アドレスの参照を許可する。
【００５１】
一方、バス２５２は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による第２記憶装置参照アドレスの参照が可能でないことを示しているときは、周辺機器制御プロセッサ２５６またはシステム制御マイコン２６４による第２記憶装置参照アドレスの参照を禁止する。この意味で、アクセス指標格納部２６８が格納するアクセス可否指標は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による記憶装置２５８へのアクセスを禁止するアクセスブロッカーとして機能する。
【００５２】
バス２５２は、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４によるアクセス可否指標の変更を禁止する。これは例えば上述のバスプロテクション機能を用いて実現できる。すなわち、制御アドレス格納部２６２はアクセス指標格納部２６８にアクセする際に参照するアドレスを含み、バス２５２は、メインプロセッサ２１０にのみそのアドレスの参照を許可する。
【００５３】
メインプロセッサ２１０は、第１記憶装置参照アドレスを参照して記憶領域２５８ａにアクセスする前に、アクセス指標格納部２６８が格納するアクセス可否指標を参照不可に変更する。メインプロセッサ２１０はまた、記憶領域２５８ａへのアクセスが終了した後に、アクセス指標格納部２６８が格納するアクセス可否指標を参照可能に変更する。このため、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４は、メインプロセッサ２１０が記憶領域２５８ａにアクセスしているときは、記憶領域２５８ａのみならず記憶領域２５８ｂにもアクセスすることができない。
【００５４】
図５は、実施の形態に係る周辺機器制御プロセッサ２５６が記憶装置２５８におけるその他の記憶領域２５８ｂに参照する際の処理の流れを説明するフローチャートである。本フローチャートにおける処理は、周辺機器制御プロセッサ２５６が第２記憶装置参照アドレスを参照する際に開始する。
【００５５】
バス２５２は、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスへの参照要求があったとき、アクセス指標格納部２６８が格納するアクセス可否指標を確認する（Ｓ２）。アクセス可否指標が、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照が可能であることを示している場合（Ｓ４のＹ）、バス２５２は、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照を許可する（Ｓ６）。
【００５６】
アクセス可否指標が、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照が可能であることを示していない場合（Ｓ４のＮ）、バス２５２は、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照を禁止する（Ｓ８）。
【００５７】
これにより、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、メインプロセッサ２１０が記憶領域２５８ａにアクセス中に第２記憶装置参照アドレスを介して記憶領域２５８ａにアクセスして、オペレーティングシステムプログラムをダウングレードするように記憶領域２５８ａを書き換えることが防止される。また上述したとおり周辺機器制御プロセッサ２５６は第１記憶装置参照アドレスを参照できないので、第１記憶装置参照アドレスを介して周辺機器制御プロセッサ２５６によってオペレーティングシステムプログラムがロールバックされることも防止できる。
【００５８】
なお、オペレーティングシステムプログラムを格納する記憶装置とは別に、新たな記憶装置を設けてオペレーティングシステムプログラム以外の他のプログラムやデータを格納するようにしてバスプロテクション機能を用いれば、同様のロールバック防止機能を実現できる。すなわち、オペレーティングシステムプログラムを格納する記憶装置はメインプロセッサ２１０にのみアクセス可能にし、周辺機器制御プロセッサ２５６やシステム制御マイコン２６４によるアクセスを禁止する方法である。この方法と比較して、実施の形態に係る情報処理装置２００は、記憶装置２５８単体でオペレーティングシステムプログラムのロールバック攻撃の防止を実現でき、また、記憶装置２５８自体は汎用のデバイスで足りる。このため、記憶装置を複数設ける場合や特殊な記憶装置を用意する場合と比較してコストを抑制でき、また汎用性を向上することもできる。
【００５９】
（制御アドレス格納部のデータ構造）
図６は、実施の形態に係る制御アドレス格納部２６２のデータ構造を模式的に示す図であり、情報処理装置２００の動作モードと各プロセッサによるアドレス参照の可否をまとめた図である。図６は、バス２５２を用いて上述したバスプロテクション機能、およびロールバック攻撃の防止を実現するための、アドレス参照の可否の構成図である。
【００６０】
重複した記載を避けるために全ての説明は省略するが、図６、例えばメインプロセッサ２１０による編集時参照アドレスの参照は許可するが、周辺機器制御プロセッサ２５６およびシステム制御マイコン２６４による編集時参照アドレスの参照を、情報処理装置２００の動作モードによらず禁止することを示している。また図６において「条件付き可」は、周辺機器制御プロセッサ２５６による第２記憶装置参照アドレスの参照が可能であることを示している場合にのみ、周辺機器制御プロセッサ２５６またはシステム制御マイコン２６４による第２記憶装置参照アドレスの参照を許可することを示す。
【００６１】
（動作モードの遷移）
以上、実施の形態に係る情報処理装置２００のバスプロテクション機能、およびロールバック攻撃の防止について説明した。次に、実施の形態に係る情報処理装置２００の動作モードの遷移について説明する。
【００６２】
情報処理装置２００が据え置き型のゲーム機の場合、情報処理装置２００は図示しない差し込みプラグを備える。差し込みプラグが電源を供給するためのコンセント（electrical outlet）に差し込まれている場合、情報処理装置２００は上述した第１動作モードから第３動作モードまでの３つの動作モードを取り得る。
【００６３】
情報処理装置２００のユーザが、差し込みプラグをコンセントから抜いた状態からコンセントに差し込み、かつ情報処理装置２００の電源ボタンを押す前においては、情報処理装置２００は上述した第２動作モードまたは第３動作モードとなる。より具体的には、図２に示すように、情報処理装置２００内の周辺機器制御装置２５０は、メインプロセッサ２１０の休止時において周辺機器制御プロセッサ２５６への通電の可否を示す通電可否指標を格納する通電指標格納部を備えており、この通電可否指標に応じて情報処理装置２００は第２動作モードまたは第３動作モードとなる。
【００６４】
差し込みプラグがコンセントに差し込まれると、システム制御マイコン２６４に電力が供給されてシステム制御マイコン２６４が動作状態となり、情報処理装置２００は第３動作モードとなる。このとき、通電指標格納部２７０が格納する通電可否指標が周辺機器制御プロセッサ２５６への通電を許可することを示している場合、システム制御マイコン２６４は周辺機器制御プロセッサ２５６に電力を供給する。この結果周辺機器制御プロセッサ２５６は動作状態となり、情報処理装置２００は第３動作モードから第２動作モードに遷移する。
【００６５】
上述したとおり、情報処理装置２００が第２動作モードの場合、周辺機器制御プロセッサ２５６は周辺機器を制御可能である。これにより、メインプロセッサ２１０を起動することなくプログラムのダウンロード等の処理を実行することが可能となる。また、例えば周辺機器としてカメラ等を動作させることができるので、ユーザの顔やユーザのジェスチャを撮像することもできる。周辺機器制御プロセッサ２５６は撮像したユーザの顔やジェスチャを解析して、ユーザ認証やメインプロセッサ２１０の起動等の処理を実行することも可能となり、ユーザビリティを向上させることもできる。これは既知の認証技術やジェスチャ認識技術を利用することで実現できる。
【００６６】
これに対し、通電指標格納部２７０が格納する通電可否指標が周辺機器制御プロセッサ２５６への通電を許可することを示していない場合、差し込みプラグがコンセントに差し込まれても、システム制御マイコン２６４は周辺機器制御プロセッサ２５６に電力を供給しない。このため、情報処理装置２００は第３動作モードを維持する。周辺機器制御プロセッサ２５６はメインプロセッサ２１０と比較すると消費電力は少ないが、システム制御マイコン２６４と比較すると動作に電力を要する。したがって、ユーザが情報処理装置２００の待機電力を抑制したい場合には、情報処理装置２００が第２動作モードとなることを禁止することにより、さらなる消費電力の抑制が可能となる。これは例えば情報処理装置２００がバッテリ等で駆動する携帯型の端末である場合等に、電力消費を抑えてバッテリの持ちをよくする上でも有用である。
【００６７】
情報処理装置２００が第２動作モードまたは第３動作モードであるときに、ユーザが情報処理装置２００の電源ボタンを押下することを契機として、システム制御マイコン２６４はメインプロセッサ２１０に電力を供給するとともに、ブートＲＯＭ（Read Only Memory）２７２からオペレーティングシステムプログラムを読み出して起動するためのプログラムコードを読み出してメインプロセッサ２１０に供給する。
【００６８】
メインプロセッサ２１０は電力の供給を受けて起動すると、ブートＲＯＭ２７２に格納されたプログラムコードを実行して、記憶装置２５８中の記憶領域２５８ａからオペレーティングシステムプログラムを読み出す。情報処理装置２００が第２動作モードのときに電源ボタンが押下された場合、オペレーティングシステムが起動するまでの間は、一時的にメインプロセッサ２１０と周辺機器制御プロセッサとが同時に動作する期間である。上述したオペレーティングシステムプログラムのロールバック攻撃の防止技術は、オペレーティングシステムの起動時のメインプロセッサ２１０と周辺機器制御プロセッサ２５６とが同時に動作する期間において特に有効である。
【００６９】
オペレーティングシステムが起動し、メインプロセッサ２１０が周辺機器２６１の制御権を掌握すると、周辺機器制御プロセッサ２５６は通電されているものの待機状態となり、情報処理装置２００は第１動作モードに遷移する。
【００７０】
通電指標格納部２７０が格納する通電可否指標は、システム制御マイコン２６４が参照することができるが、変更はメインプロセッサ２１０にのみが許可される。これは上述したバスプロテクション機能を用いて実現できる。ユーザは情報処理装置２００が第１動作モードのとき、ＧＵＩ（Graphical User Interface）等で構成された図示しないシステムメニュー等を介して、通電可否指標を変更することができる。
【００７１】
図７は、実施の形態に係る情報処理装置２００が第１動作モードから他の動作モードに遷移するときの処理の流れを説明するフローチャートである。
【００７２】
情報処理装置２００が第１動作モードのときに、ユーザによって明示的に終了の指示がなされるか、またはあらかじめ定められた終了時刻となると、メインプロセッサ２１０はシステム終了の指示を取得する（Ｓ１０）。システム制御マイコン２６４はメインプロセッサ２１０からの指示により、通電指標格納部２７０が格納する通電可否指標を確認する（Ｓ１２）。
【００７３】
通電可否指標が周辺機器制御プロセッサ２５６への通電を許可する場合（Ｓ１４のＹ）、システム制御マイコン２６４は、周辺機器制御プロセッサ２５６への通電を維持する（Ｓ１６）。この結果、情報処理装置２００は第２動作モードに遷移する（Ｓ１８）。通電可否指標が周辺機器制御プロセッサ２５６への通電を許可しない場合（Ｓ１４のＮ）、システム制御マイコン２６４は、周辺機器制御プロセッサ２５６への通電を停止する（Ｓ２０）。この結果、情報処理装置２００は第３動作モードに遷移する（Ｓ２２）。情報処理装置２００が第１動作モードから第２動作モードまたは第３動作モードに遷移すると、本フローチャートにおける処理は終了する。
【００７４】
図８は、実施の形態に係る情報処理装置２００が取り得る動作モードの遷移図である。上述したとおり、第１動作モードＳＴ１へは、第２動作モードＳＴ２および第３動作モードＳＴ３から遷移可能である。また、第１動作モードＳＴ１から、第２動作モードＳＴ２および第３動作モードＳＴ３へ遷移することができる。
【００７５】
第３動作モードＳＴ３から第２動作モードＳＴ２へ遷移することはできるが、第２動作モードＳＴ２から第３動作モードＳＴ３に遷移することはない。これは、通電指標格納部２７０が格納する通電可否指標の変更はメインプロセッサ２１０にのみが許可されることに対応する。すなわち、情報処理装置２００が第２動作モードまたは第３動作モードであるときに、ユーザの指示によって周辺機器制御プロセッサ２５６への通電を開始したり終了したりすることはできないことを意味する。
【００７６】
周辺機器制御プロセッサ２５６は例えば夜間等のユーザが使用していない時期にメインプロセッサ２１０に代わってプログラムのダウンロード等の処理を実行する、いわば裏方的な役割のプロセッサである。したがって、周辺機器制御プロセッサ２５６の存在をユーザに知らしめることはユーザに混乱を与える可能性もある。したがって、周辺機器制御プロセッサ２５６はユーザから隠す方がユーザビリティを向上させる点で効果があり、またセキュリティの観点からも好ましい。
【００７７】
（パワーグループ）
以上、図８を参照して、実施の形態に係る情報処理装置２００の動作モードの遷移について説明した。続いて、情報処理装置２００の動作モードを、情報処理装置２００の電源管理の観点から説明する。
【００７８】
図９は、実施の形態に係る情報処理装置２００のパワーグループを示す図であり、図２に示す情報処理装置２００の内部構成を電源管理の観点から複数のグループに分類した状態を模式的に示す図である。図９に示すように、実施の形態に係る情報処理装置２００は、全体として第１パワーグループ１０、第２パワーグループ２０、および第３パワーグループ３０の複数のパワーグループに分類される。ここで「パワーグループ」とは、例えば情報処理装置２００における電源管理、すなわち電力供給の単位を意味する。
【００７９】
第１パワーグループ１０は、メインプロセッサ２１０、およびメインメモリ２１１、ＧＰＵ２１２（Graphics Processing Unit２１２）を含む、情報処理装置２００全体を含むグループである。上述した第１動作モードにおいては、第１パワーグループの構成要素の全てに電力が供給される。なお上述したように、第１動作モードにおいては、周辺機器制御プロセッサ２５６にも通電しているが、特段の処理を行わない待機状態となっていか、あるいは、第１動作モードにおいて、周辺機器制御プロセッサ２５６は、クロック停止かつリセットの休止状態となっている。したがって、第１パワーグループにおいて実質的に駆動電力を消費するプロセッサはメインプロセッサ２１０である。
【００８０】
第２パワーグループ２０は、第１パワーグループの構成要素のから、メインメモリ２１１、メインプロセッサ２１０、およびＧＰＵ２１２を除いたグループである。上述した第２動作モードにおいては第２パワーグループの構成要素に電力が供給されるが、駆動電圧の大きなメインプロセッサ２１０には電力が供給されない。このため、は第２パワーグループの駆動電力は、第１パワーグループの駆動電力よりも小さくなる。
【００８１】
第３パワーグループ３０は、システム制御マイコン２６４およびブートＲＯＭ２７２を構成要素に含むグループである。上述した第３動作モードでは、第３パワーグループ３０野構成要素に電力が供給され、他の構成要素には電力は供給されない。システム制御マイコン２６４は周辺機器制御プロセッサ２５６よりもさらに駆動電力が小さいため、第３パワーグループ３０は、３つのパワーグループの中で最も駆動電力が小さいパワーグループである。
【００８２】
このように、実施の形態に係る情報処理装置２００は、情報処理装置２００の動作目的、すなわち動作モードに応じて異なるパワーグループを選択して電力を供給する。これにより、情報処理装置２００のく動電力が動作モードに応じてシステム全体として適切に変更されるため、電力消費の低減が実現できる。
【００８３】
以上説明したように、実施の形態に係る情報処理装置２００によれば、周辺機器２６１の制御に要する電力消費を抑制する技術を提供することができる。
【００８４】
特に、メインプロセッサ２１０の温度サイクル寿命に依存しないサービスが提供可能となり、上述のような処理に要する電力消費を数十分の一に低減することも可能となる。また、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、メインプロセッサ２１０が周辺機器２６１にＤＭＡ転送している間に第三者は周辺機器制御プロセッサ２５６を介してバッファオーバーフロー攻撃を防止することができる。さらに、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、周辺機器制御プロセッサ２５６によってオペレーティングシステムプログラムがロールバックされることも防止できる。加えて、ロールバック防止機能は、オペレーティングシステムプログラムとそれ以外のデータとを同一の記憶装置２５８に格納する場合で機能するため、記憶装置を複数設ける場合や特殊な記憶装置を用意する場合と比較してコストを抑制でき、また汎用性を向上することもできる。
【００８５】
（変形例）
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８６】
上記の説明では、仮に周辺機器制御プロセッサ２５６の制御権が第三者に取得されたとしても、メインプロセッサ２１０の制御権が第三者に取得されることを防止する技術について説明した。これに加えて、周辺機器制御プロセッサ２５６の制御権が第三者に取得されることが抑制されるように構成してもよい。
【００８７】
具体的には、周辺機器制御プロセッサ２５６に実行させるプログラムコードにデジタル署名を付しておき、プログラムコードの実行前に整合性（integrity;インテグリティ）の確認を行うようにしてもよい。周辺機器制御プロセッサ２５６は、整合性が崩れているプログラムコードの実行を禁止することにより、第三者が任意のプログラムコードを周辺機器制御プロセッサ２５６に実行させることを抑制できる。
【符号の説明】
【００８８】
１００  情報処理システム、  ２００  情報処理装置、  ２０２  光学ディスクドライブ、  ２０４  ＵＳＢポート、  ２１０  メインプロセッサ、  ２１１  メインメモリ、  ２１２  ＧＰＵ、  ２５０  周辺機器制御装置、  ２５２  バス、  ２５４  周辺機器インタフェース、  ２５６  周辺機器制御プロセッサ、  ２５８  記憶装置、  ２６０  その他の周辺機器、  ２６２  制御アドレス格納部、  ２６４  システム制御マイコン、  ２６６  リアルタイムクロック、  ２６８  アクセス指標格納部、  ２６９  編集時参照アドレス格納部、  ２１２  ＧＰＵ、  ２７０  通電指標格納部、  ２７２  ブートＲＯＭ、２７４  メモリインタフェース、  ２７６  サブメモリ、  ３００  表示装置、  ４００  コントローラ。
【図１】
0005876017.tif 000002
【図２】
0005876017.tif 000003
【図３】
0005876017.tif 000004
【図４】
0005876017.tif 000005
【図５】
0005876017.tif 000006
【図６】
0005876017.tif 000007
【図７】
0005876017.tif 000008
【図８】
0005876017.tif 000009
【図９】
0005876017.tif 000010