(57)【要約】  情報処理システム（１００）の消費電力を抑えつつ、共用リソース（１０６）のアクセス競合を解消する。バスコントローラ（１０８）は、キャッシュミス検出部（１１９）によって、ＣＰＵ（１０１）、ＣＰＵ（１０２）のキャッシュヒット若しくはキャッシュミスを示す第１情報を検出する。また、バスコントローラ（１０８）は、高速Ｉ／Ｏ検出部（１２０）によって、ＤＭＡコントローラ（１０３）、ＤＭＡコントローラ（１０４）の活性化状態若しくは非活性化状態を示す第２情報を検出する。バスコントローラ（１０８）は、生成部（１２３）によって、第１情報と第２情報とに基づいて、設定信号を生成する。
2012066621.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続されるＣＰＵと、
バスに接続されるデバイスと、
前記ＣＰＵまたは前記デバイスにアクセスされるメモリと、
消費電力モードを設定するパワーモード制御回路と、
を含み、
前記パワーモード制御回路は、前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報と前記デバイスの活性化状態若しくは非活性化状態を示す第２情報とに基づいて、前記消費電力モードを設定すること
を特徴とする情報処理システム。
【請求項２】
前記パワーモード制御回路は、
前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が非活性化状態を示すときに、低消費電力モードを設定すること
を特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記パワーモード制御回路は、
前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が活性化状態を示すときに、通常モードを設定すること
を特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が非活性化状態を示すときに、通常モードを設定すること
を特徴とする請求項１乃至請求項３の何れか一の請求項に記載の情報処理システム。
【請求項５】
前記パワーモード制御回路は、
前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が活性化状態を示すとき、前記バスのアクセス競合状態若しくは非競合状態を示す第３情報に基づいて、前記消費電力モードを設定すること
を特徴とする請求項１乃至請求項４の何れか一の請求項に記載の情報処理システム。
【請求項６】
前記パワーモード制御回路は、
前記第３情報が前記バスのアクセス非競合状態を示すときは通常モードに設定し、前記第３情報が前記バスのアクセス競合状態を示すときはオーバークロックモードに設定すること
を特徴とする請求項１乃至請求項５の何れか一の請求項に記載の情報処理システム。
【請求項７】
前記デバイスはＤＭＡコントローラを含み、ＤＭＡ転送モードが設定されること
を特徴とする請求項３または請求項５に記載の情報処理システム。
【請求項８】
前記パワーモード制御回路は、
前記第３情報が前記バスのアクセス競合状態を示すとき、前記ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報に基づいて、前記消費電力モードを設定すること
を特徴とする請求項５に記載の情報処理システム。
【請求項９】
前記パワーモード制御回路は、
前記第４情報が時間制約のあることを示すときはオーバークロックモードに設定し、前記第４情報が時間制約のないことを示すときは通常モードに設定すること
を特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記デバイスはＤＭＡコントローラを含み、前記第４情報が時間制約のあることを示すときは前記ＤＭＡコントローラの転送単位が前記バスのバス幅に設定され、前記第４情報が時間制約のないことを示すときは前記転送単位が前記バスのバス幅より小さい値に設定されること
を特徴とする請求項８に記載の情報処理システム。
【請求項１１】
バスに接続されるＣＰＵと、
バスに接続されるデバイスと、
前記バスを介して前記ＣＰＵおよび前記デバイスの接続されるメモリと、
前記バスのアクセスを監視するバスコントローラと、
前記バスコントローラからの設定信号に基づいて消費電力モードを設定するパワーモード制御回路と、
を含み、
前記バスコントローラは、
前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報を検出する第１回路と、
前記デバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する第２回路と
を含むことを特徴とする情報処理システム。
【請求項１２】
前記バスコントローラは、前記ＣＰＵが前記メモリに連続アクセスを行うか否かの第３情報を検出する第３回路を含むこと
を特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
前記バスコントローラは、前記ＣＰＵが実行する処理に時間制約があるか否かを示す第４情報を記憶する第４回路を含むこと
を特徴とする請求項１１に記載の情報処理システム。
【請求項１４】
前記第１回路から出力される第１情報と前記第２回路から出力される第２情報とに基づいて前記設定信号を生成する第５回路を含むこと
を特徴とする請求項１１または請求項１２に記載の情報処理システム。
【請求項１５】
前記第１回路は、前記ＣＰＵ内のステータスレジスタの出力に基づいて前記第１情報を検出し、
前記第２回路は、前記デバイス内の制御レジスタの出力に基づいて前記第２情報を検出すること
を特徴とする請求項１１乃至請求項１４の何れか一の請求項に記載の情報処理システム。
【請求項１６】
前記第３回路は、前記メモリを制御するメモリコントローラ内のステータスレジスタの出力に基づいて前記第３情報を検出すること
を特徴とする請求項１２に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス競合を監視する情報処理システムに関する。
【背景技術】
【０００２】
近年、１つのシステム内に、複数のコアを有するマルチコアプロセッサシステムの形態を採用する情報処理システムが増加している。マルチコアプロセッサシステムにおけるバスには、複数のコアからによる様々なパターンのデータが流れる。具体的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等から発生したデータがバスに流れる。ＣＰＵからメモリに対するアクセスは、１サイクルで転送するデータ量である転送単位が小さいアクセスとなり、ＤＭＡコントローラ、ＤＳＰなどの高速転送デバイスからメモリに対するアクセスは、転送単位が大きいアクセスとなる。【０００３】
このように、転送単位にばらつきのあるアクセスに対して、情報処理システム設計時には、アクセスの総量がオーバーフローしないように設計される。しかし、入出力対象のＩ／Ｏが１ポート、またはポート数が限られている場合に、そのポートでアクセス競合が発生することがあった。【０００４】
アクセス競合を解消する技術として、バス幅、クロック周波数を大きくし、さらなる高速化を行って、アクセス競合を解消するという技術が存在する（以下、「従来技術１」と称する。）。また、他の技術として、メモリの入出力を制御するメモリコントローラがアクセス要求を一時的に保留するキューイングシステムを有することで、アクセス競合の影響を最小化する技術が存在する（以下、「従来技術２」と称する。）。【０００５】
また、他のアクセス競合を解消する技術として、メモリコントローラがキャッシュミスを監視し、キャッシュミス回数が閾値以上となったときに、ＤＭＡのサイクルスチールモードにおける転送単位を小さくする技術が開示されている（たとえば、下記特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術において、従来技術１にかかる技術では、アクセス競合発生時以外であっても処理能力が増大するために、消費電力が増大し利用効率が下がるという問題があった。また、従来技術２にかかる技術を適用しても、アクセス要求に対する応答の遅延が発生するという問題があった。【０００８】
また、特許文献１にかかる技術では、ＣＰＵ、ＤＭＡコントローラ、ＤＳＰ等からのアクセスについて、どのアクセスがＣＰＵからのアクセスであるか特定することが困難であるという問題があった。また、特許文献１にかかる技術にて、リアルタイム制約がある処理を実行中の場合に、ＤＭＡコントローラの転送単位を小さくすると、ＤＭＡコントローラの転送効率が低下し、リアルタイム制約に違反してしまう可能性が高くなるという問題があった。【０００９】
本発明は、上述した従来技術による問題点を解消するため、消費電力を抑えつつ、アクセス競合を解消できる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、開示の情報処理システムは、バスに接続されるＣＰＵと、バスに接続されるデバイスと、ＣＰＵまたはデバイスにアクセスされるメモリと、消費電力モードを設定するパワーモード制御回路と、を含み、パワーモード制御回路は、ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報とデバイスの活性化状態若しくは非活性化状態を示す第２情報とに基づいて、消費電力モードを設定する。
【発明の効果】
【００１１】
本情報処理システムによれば、メモリアクセス競合時にはオーバークロックに設定しアクセス競合を回避し、アクセスがないときにはクロック供給を停止させ消費電力を削減できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかる情報処理システム１００のハードウェアを示すブロック図である。
【図２】生成部１２３と設定部１１８の動作を示す説明図である。
【図３】情報処理システム１００が状態１の場合の動作を示す説明図である。
【図４】情報処理システム１００が状態２の場合の動作を示す説明図である。
【図５】情報処理システム１００が状態３の場合の動作を示す説明図である。
【図６】情報処理システム１００が状態４の場合の動作を示す説明図である。
【図７】情報処理システム１００が状態５−１の場合の動作を示す説明図である。
【図８】情報処理システム１００が状態５−２の場合の動作を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、開示の情報処理システムの好適な実施の形態を詳細に説明する。
【００１４】
（情報処理システム１００のハードウェア）
図１は、実施の形態にかかる情報処理システム１００のハードウェアを示すブロック図である。図１において、情報処理システム１００は、ＣＰＵ１０１と、ＣＰＵ１０２と、ＤＭＡコントローラ１０３と、ＤＭＡコントローラ１０４とを含む。さらに、情報処理システム１００は、メモリコントローラ１０５と、共用リソース１０６と、パワーモード制御回路（以下、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）と呼称する）１０７と、バスコントローラ１０８と、を含む。また、各部はバス１０９によってそれぞれ接続されている。また、ユーザやその他の機器との入出力装置として情報処理システム１００は、ディスプレイ、キーボード等が接続されていてもよい。
【００１５】
ＣＰＵ１０１、ＣＰＵ１０２は、情報処理システム１００の全体の制御を司る。このように、情報処理システム１００は、複数のコアを含むマルチコアプロセッサシステムの形態をとる。また、情報処理システム１００は、コアが一つであるシングルコアプロセッサシステムであってもよい。また、マルチコアプロセッサシステムとは、コアが複数搭載されたプロセッサを含むコンピュータのシステムである。コアが複数搭載されていれば、複数のコアが搭載された単一のプロセッサでもよく、シングルコアのプロセッサが並列されているプロセッサ群でもよい。
【００１６】
また、ＣＰＵ１０１は、ＣＰＵのレジスタ群の一つである、ＣＰＵ１０１の状態であるステータス情報を格納するステータスレジスタ１１０、キャッシュメモリ１１１を有する。同様に、ＣＰＵ１０２は、ステータスレジスタ１１２、キャッシュメモリ１１３を有する。ステータスレジスタ１１０、ステータスレジスタ１１２が格納するステータス情報として、たとえば、演算結果の正負、オーバーフローの発生、などといった、プログラム実行に伴う状態である。
【００１７】
また、ステータスレジスタ１１０、ステータスレジスタ１１２は、ＣＰＵ１０１、ＣＰＵ１０２が共用リソース１０６にアクセスを行ったか否かの情報を、ステータス情報の一つとして格納している。ＣＰＵ１０１、ＣＰＵ１０２による共用リソース１０６のデータ転送をＰＩＯ（Ｐｒｏｇｒａｍｍｅｄ  Ｉ／Ｏ）転送とする。なお、ＰＩＯ転送が発生する場合としては、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュメモリ１１１、キャッシュメモリ１１３内のデータを検索し、検索後要求されたデータが存在しなかった結果、共用リソース１０６にアクセスした場合である。以下の説明では、キャッシュメモリ１１１、キャッシュメモリ１１３にデータが存在した場合をキャッシュヒットと呼称し、データが存在しなかった場合をキャッシュミスと呼称する。
【００１８】
なお、ＰＩＯ転送が発生する別の場合として、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュメモリ１１１、キャッシュメモリ１１３内のデータを検索せずに、共用リソース１０６にアクセスする場合もある。この動作も、前述にて定義したキャッシュミスに含めることとする。したがって、ステータスレジスタ１１０、ステータスレジスタ１１２を参照することで、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュヒット若しくはキャッシュミスをしたことが判断できる。
【００１９】
ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、ＣＰＵ１０１、ＣＰＵ１０２を介さず、共用リソース１０６に対してデータ転送を行う装置である。また、ＤＭＡコントローラ１０３は、値を設定することでＤＭＡコントローラ１０３を制御可能な制御レジスタ１１４を有する。同様に、ＤＭＡコントローラ１０４は、制御レジスタ１１５を有する。なお、制御レジスタ１１４、制御レジスタ１１５には、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のステータス情報を格納するフィールドも含まれる。
【００２０】
ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、１サイクルで転送するデータ量である転送単位が変更できてもよい。たとえば、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、転送単位がバス１０９のバス幅と一致していてもよいし、転送単位がバス１０９のバス幅より小さくてもよい。転送単位がバス１０９のバス幅と一致している場合、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、最も効率よくデータ転送することができる。以下、転送単位がバス１０９のバス幅と一致する場合を高密度転送、転送単位がバス１０９のバス幅より小さい場合を低密度転送と呼称する。
【００２１】
メモリコントローラ１０５は、ＣＰＵ１０１〜ＤＭＡコントローラ１０４による共用リソース１０６へのアクセス権の競合を調停する装置である。また、メモリコントローラ１０５は、メモリコントローラ１０５の状態を格納するステータスレジスタ１１６を有する。なお、本実施の形態にかかる情報処理システム１００は、携帯型の端末といったリソースの限られた組み込み機器を想定しており、共用リソース１０６も１つで充分であることを想定している。しかし、もし共用リソース１０６が複数存在する場合、メモリコントローラ１０５は、複数存在してもよい。
【００２２】
共用リソース１０６は、ＣＰＵ１０１〜ＤＭＡコントローラ１０４がアクセスするメモリである。メモリは、たとえば、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュＲＯＭなどである。
【００２３】
ＰＭＵ１０７は、情報処理システム１００の消費電力を管理する。たとえば、ＰＭＵ１０７がバス１０９へのクロックを停止させることで、情報処理システム１００の消費電力が低くなる低消費電力モードになる。または、ＰＭＵ１０７がバス１０９へのクロックを所定値に設定することで、通常モードになる。または、ＰＭＵ１０７がバス１０９へのクロックを所定値より大きいクロックに設定することで、情報処理システム１００の消費電力が大きくなるオーバークロックモードになる。また、ＰＭＵ１０７は、値を設定することでＰＭＵ１０７を制御可能な制御レジスタ１１７と、制御レジスタ１１７に基づいて消費電力モードを設定する設定部１１８を有する。
【００２４】
バスコントローラ１０８は、ＣＰＵ１０１〜メモリコントローラ１０５のステータス情報を監視し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４、ＰＭＵ１０７の設定を変更する。また、バスコントローラ１０８は、キャッシュミス検出部１１９、高速Ｉ／Ｏ検出部１２０、アクセス競合検出部１２１、設定レジスタ１２２、生成部１２３を含む。
【００２５】
キャッシュミス検出部１１９は、ステータスレジスタ１１０、ステータスレジスタ１１２に格納されている情報の一つである、キャッシュヒット若しくはキャッシュミスを示す第１情報を検出する機能を有する。なお、キャッシュミス検出部１１９は、ステータスレジスタ１１０、ステータスレジスタ１１２の少なくとも何れか一方が、キャッシュミスを示した場合、第１情報をキャッシュミスとして検出する。
【００２６】
高速Ｉ／Ｏ検出部１２０は、バス１０９に接続されるデバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する機能を有する。ここで、デバイスとは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＤＭＡコントローラといった、共用リソース１０６にアクセスするデバイスを指している。本実施の形態にかかる高速Ｉ／Ｏ検出部１２０では、制御レジスタ１１４、制御レジスタ１１５に格納されている情報の一つである、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４が使用中か否かという情報を第２情報として検出する。
【００２７】
具体的には、高速Ｉ／Ｏ検出部１２０は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４が使用中の状態を活性化状態、未使用の状態を非活性化状態として第２情報を検出する。なお、高速Ｉ／Ｏ検出部１２０は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中となった場合、第２情報を活性化状態として検出する。
【００２８】
アクセス競合検出部１２１は、ステータスレジスタ１１６に格納されている情報の一つである、共用リソース１０６に対するアクセス競合状態若しくは非競合状態を示す第３情報を検出する機能を有する。
【００２９】
設定レジスタ１２２は、バスコントローラ１０８の動作を設定するレジスタである。たとえば、設定レジスタ１２２は、キャッシュミス検出部１１９〜アクセス競合検出部１２１を機能させるか否かが設定可能となっていてもよい。また、設定レジスタ１２２は、ＣＰＵ１０１、ＣＰＵ１０２で実行されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって、情報処理システム１００にリアルタイム制約があるか否かという第４情報が設定されてもよい。なお、リアルタイム制約とは、ＣＰＵ１０１、ＣＰＵ１０２で実行される処理に対して、応答時間が設定されている状態を示す。また、第４情報は、情報処理システム１００の起動時に設定されてもよいし、起動後に途中で値が変更されてもよい。
【００３０】
生成部１２３は、キャッシュミス検出部１１９〜設定レジスタ１２２の値に基づいて、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４、ＰＭＵ１０７に対する設定信号を生成する。設定信号には、ＰＭＵ１０７に対するＰＭＵ設定信号と、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に対するＤＭＡ設定信号と、が含まれる。
【００３１】
具体的に、生成される情報として、生成部１２３は、ＰＭＵ１０７に対して、キャッシュミス検出部１１９〜設定レジスタ１２２の各情報を１ビットとした少なくとも４ビットのＰＭＵ設定信号を生成する。また、生成部１２３は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に対して、キャッシュミス検出部１１９〜設定レジスタ１２２の値の組み合わせにより決定される１ビットのＤＭＡ設定信号を生成する。さらに詳細なＰＭＵ設定信号、ＤＭＡ設定信号の内容については、図２にて後述する。
【００３２】
図２は、生成部１２３と設定部１１８の動作を示す説明図である。設定部１１８は、生成部１２３によって生成されるキャッシュミス検出部１１９〜設定レジスタ１２２の４つの値によるＰＭＵ設定信号に応じて、ＰＭＵ１０７の動作を設定する。また、図２では、生成部１２３によって生成されるＤＭＡ設定信号に応じたＤＭＡコントローラ１０３、１０４の動作についても、併せて説明を行う。
【００３３】
また、図２で示す表２０１、表２０２は、ＰＭＵ設定信号に応じた生成部１２３と設定部１１８の動作を示している。具体的に、表２０１は、第１情報、第２情報の組み合わせによる生成部１２３と設定部１１８の動作について図示しており、表２０２は、さらに、第３情報、第４情報との組み合わせによる生成部１２３と設定部１１８の動作について図示している。
【００３４】
生成部１２３は、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）となる０ビット目が第２情報を示し、１ビット目が第３情報を示し、２ビット目が第１情報を示し、３ビット目が第４情報を示すＰＭＵ設定信号を生成する。以下、第２情報を示す０ビット目が“０”であれば非活性化状態を示し、“１”であれば活性化状態を示すこととする。同様に、第３情報を示す１ビット目が“０”であれば非競合状態を示し、“１”であれば競合状態を示す。また、第１情報を示す２ビット目が“０”であればキャッシュヒットを示し、“１”であればキャッシュミスを示す。また、第４情報を示す３ビット目が“０”であればリアルタイム制約がないことを示し、“１”であればリアルタイム制約があることを示す。
【００３５】
始めに表２０１の１行１項目について説明を行う。生成部１２３は、第１情報がキャッシュヒットを示すとともに第２情報が非活性化状態を示すときに、ＰＭＵ１０７を低消費電力モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュヒットであり、かつ、第２情報が非活性化状態である情報処理システム１００の状態を、状態１と呼称する。また、生成部１２３は、情報処理システム１００が状態１の場合、ＤＭＡ設定信号を生成しない。
【００３６】
具体的に、情報処理システム１００が状態１の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“０”、１ビット目が“０”、２ビット目が“０”、３ビット目が“０”となる”００００”を生成する。生成されたＰＭＵ設定信号は、制御レジスタ１１７に設定される。
【００３７】
設定部１１８は、第１情報がキャッシュヒットを示すとともに第２情報が非活性化状態を示すときに、低消費電力モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態１の場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“００００”を読み取り、低消費電力モードを設定する。低消費電力モードとなった場合、ＰＭＵ１０７は、バス１０９へのクロックを停止させる。このとき、共用リソース１０６のうち、ＤＲＡＭに関するリフレッシュクロックの供給は継続される。なお、状態１に関する情報処理システム１００の詳細な動作に関しては、図３にて後述する。
【００３８】
次に、表２０１の２行１項目について説明を行う。また、生成部１２３は、第１情報がキャッシュヒットを示すとともに第２情報が活性化状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュヒットであり、かつ第２情報が活性化状態である情報処理システム１００の状態を、状態２と呼称する。また、生成部１２３は、情報処理システム１００が状態２の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００３９】
具体的に、情報処理システム１００が状態２の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“０”、２ビット目が“０”、３ビット目が“０”となる”０００１”を生成する。
【００４０】
また、設定部１１８は、第１情報がキャッシュヒットを示すとともに第２情報が活性化状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の何れか一方が使用中である状態２である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０００１”を読み取り、通常モードを設定する。なお、状態２に関する情報処理システム１００の詳細な動作に関しては、図４にて後述する。
【００４１】
次に、表２０１の１行２項目について説明を行う。生成部１２３は、第１情報がキャッシュミスを示すとともに第２情報が非活性化状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が非活性化状態である情報処理システム１００の状態を、状態３と呼称する。また、生成部１２３は、情報処理システム１００が状態３の場合、ＤＭＡ設定信号を生成しない。具体的に、情報処理システム１００が状態３の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“０”、１ビット目が“０”、２ビット目が“１”、３ビット目が“０”となる”０１００”を生成する。
【００４２】
また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が非活性化状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態３である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１００”を読み取り、通常モードを設定する。
【００４３】
また、設定部１１８は、情報処理システム１００がメモリアクセスレイテンシのある回路である場合に、ＣＰＵ／メモリのクロック比率を変更する。なお、メモリアクセスレイテンシのある回路とは、メモリアクセスの発行命令からメモリアクセスまで２サイクル以上かかる回路のことである。なお、状態３に関する情報処理システム１００の詳細な動作に関しては、図５にて後述する。
【００４４】
次に、表２０１の２行２項目について説明を行う。キャッシュミス検出部１１９と高速Ｉ／Ｏ検出部１２０が２行２項目に当てはまる場合、生成部１２３、設定部１１８は、表２０２の条件に従う。始めに、表２０２の１行目について説明する。生成部１２３は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス非競合状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス非競合状態である情報処理システム１００の状態を、状態４と呼称する。また、生成部１２３は、情報処理システム１００が状態４の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００４５】
具体的に、情報処理システム１００が状態４の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“０”、２ビット目が“１”、３ビット目が“０”となる”０１０１”を生成する。
【００４６】
また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス非競合状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中であり、メモリコントローラ１０５が非競合状態である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１０１”を読み取り、通常モードを設定する。なお、状態４に関する情報処理システム１００の詳細な動作に関しては、図６にて後述する。
【００４７】
次に、表２０２の２行１項目について説明する。生成部１２３は、第３情報がアクセス競合状態を示すとともに第４情報がリアルタイム制約ありを示すときに、ＰＭＵ１０７をオーバークロックモードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス非競合状態であり、かつ第４情報がリアルタイム制約ありの状態となる情報処理システム１００の状態を、状態５−１と呼称する。また、生成部１２３は、情報処理システム１００が状態５−１の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００４８】
具体的に、情報処理システム１００が状態５−１の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“１”、２ビット目が“１”、３ビット目が“１”となる”１１１１”を生成する。
【００４９】
また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス競合状態を示し、さらに第４情報がリアルタイム制約ありを示すときに、オーバークロックモードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中である。さらに、共用リソース１０６が競合状態であり、リアルタイム制約ありの場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“１１１１”を読み取り、オーバークロックモードを設定する。なお、状態５−１に関する情報処理システム１００の詳細な動作に関しては、図７にて後述する。
【００５０】
最後に、表２０２の２行２項目について説明する。生成部１２３は、第３情報がアクセス競合状態を示すとともに第４情報がリアルタイム制約なしを示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス競合状態であり、かつ第４情報がリアルタイム制約なしの状態となる情報処理システム１００の状態を、状態５−２と呼称する。また、生成部１２３は、情報処理システム１００が状態５−２の場合、ＤＭＡ設定信号として、低密度転送を示す“０”を生成する。
【００５１】
具体的に、情報処理システム１００が状態５−２の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“１”、２ビット目が“１”、３ビット目が“０”となる”０１１１”を生成する。
【００５２】
また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス競合状態を示し、さらに第４情報がリアルタイム制約なしを示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中である。さらに、共用リソース１０６が競合状態であり、リアルタイム制約なしの場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１１１”を読み取り、通常モードを設定する。なお、状態５−２に関する情報処理システム１００の詳細な動作に関しては、図８にて後述する。
【００５３】
図２にて説明を行った状態１〜状態５−２について、図３〜図８にて具体例を記述する。なお、図３〜図８における情報処理システム１００の性能は下記の通りである。バス１０９は、バス幅が６４［ビット］、クロック周波数が所定値である５００［ＭＨｚ］で動作する。ＣＰＵ１０１、ＣＰＵ１０２のバス幅が３２［ビット］、クロック周波数が１［ＧＨｚ］で動作する。共用リソース１０６の一つであるメモリについては、以下２つの設定が可能であると想定する。１つ目の設定が、バス幅が６４［ビット］、クロック周波数が１［ＧＨｚ］で動作するＣＰＵとメモリのクロック比が１：１となる設定である。２つ目の設定が、バス幅が６４［ビット］、クロック周波数が５００［ＭＨｚ］で動作するＣＰＵとメモリのクロック比が２：１となる設定である。
【００５４】
また、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、転送単位がワード転送、またはダブルワード転送という２つの転送方法の何れかで動作する。特に設定の変更がない場合、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、ダブルワード転送を行う。また、本実施の形態では、１ワードを３２ビットであると想定する。したがって、ワード転送では、１クロックにて３２［ビット］のデータ量を転送し、ダブルワード転送では１クロックにて６４［ビット］のデータ量を転送する。また、情報処理システム１００が実行する処理の一つである通信着信は、リアルタイム制約となるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）時間として１０［ミリ秒］以内の応答が要求される。
【００５５】
なお、説明の簡略化のため、図３〜図８にて、キャッシュミスが発生したＣＰＵは、ＣＰＵ１０１であると想定する。同様に、使用中となったＤＭＡコントローラは、ＤＭＡコントローラ１０３であると想定する。
【００５６】
図３は、情報処理システム１００が状態１の場合の動作を示す説明図である。図３に示す情報処理システム１００は、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態１の場合である。なお、情報処理システム１００が状態１となる具体例としては、ユーザが情報処理システム１００を操作しない状態で、カーネルプロセスなどが周期的に動作し、かつ常にキャッシュヒットしている状態で動作している場合である。
【００５７】
このとき、バスコントローラ１０８は、“００００”＝０ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。なお、３ビット目である第４情報について、設定レジスタ１２２にリアルタイム制約がありと設定されていても、０ビット目〜２ビット目全てが“１”でないと判断基準として利用されない。したがって、バスコントローラ１０８は、リアルタイム制約なしを示す“０”を設定する。または、バスコントローラ１０８は、“１０００”というＰＭＵ設定信号を生成し、設定部１１８は、０ビット目〜２ビット目全てが“１”でないことから、３ビット目を無効として扱ってもよい。この動作は、状態２〜状態４についても同様である。
【００５８】
ＰＭＵ設定信号が設定されたＰＭＵ１０７は、低消費電力モードとして、共用リソース１０６のうち、ＤＲＡＭに関するリフレッシュクロック以外となるバス１０９のクロックの供給を停止させる。このように、状態１における情報処理システム１００では、バス１０９が使用されていないため、クロックの供給を止めることができ、消費電力を削減することができる。
【００５９】
図４は、情報処理システム１００が状態２の場合の動作を示す説明図である。図４に示す情報処理システム１００は、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３が使用中である状態２の場合である。なお、情報処理システム１００が状態２となる具体例としては、ＤＭＡコントローラ１０３を使用したダウンロード処理を行っており、ユーザが情報処理システム１００を操作せず、カーネルプロセスが常にキャッシュヒットの状態で動作している場合である。
【００６０】
このとき、バスコントローラ１０８は、“０００１”＝１ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００６１】
図５は、情報処理システム１００が状態３の場合の動作を示す説明図である。図５に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４がいずれも未使用である状態３の場合である。なお、情報処理システム１００が状態３となる具体例としては、情報処理システム１００内のデータを検索している場合である。
【００６２】
このとき、バスコントローラ１０８は、“０１００”＝４ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、情報処理システム１００はメモリアクセスレイテンシがある回路であることを想定しているため、ＣＰＵ／メモリのクロック比率を２：１に設定する。図５の例では、メモリのクロック数を５００［ＭＨｚ］に減ずる。
【００６３】
なお、クロック比率を２：１に設定する理由として、情報処理システム１００が状態３では、共用リソース１０６のメモリに対してＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４からのアクセスが存在しない。したがって、クロック比率の設定については、ＣＰＵ１０１、ＣＰＵ１０２からのアクセスに対して考慮すればよい。ＣＰＵ１０１、ＣＰＵ１０２のバス幅は３２［ビット］であり、メモリのバス幅６４［ビット］の半分の値であるため、メモリのクロック数をＣＰＵ１０１、ＣＰＵ１０２の半分の設定にしても、ＣＰＵ１０１、ＣＰＵ１０２からのアクセスに対応することができる。
【００６４】
このように、状態３における情報処理システム１００は、共用リソース１０６のメモリに対してＣＰＵ１０１、ＣＰＵ１０２からのアクセスに限定することで、メモリのクロック数を下げることができ、消費電力を削減することができる。
【００６５】
図６は、情報処理システム１００が状態４の場合の動作を示す説明図である。図６に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中である状態４の場合である。なお、情報処理システム１００が状態４となる具体例としては、バックグラウンドでダウンロード処理を行っており、ユーザのメニュー操作によるイベント受信を受けた場合である。
【００６６】
このとき、メニュー操作により階層メニューを初めて読み込んだ際に、ＣＰＵ１０１は、キャッシュメモリ１１１に対して、新たな階層メニューのデータが存在するか検索する。階層メニューは初めて読み込まれるため、キャッシュメモリ１１１に存在せず、ＣＰＵ１０１は、共用リソース１０６にアクセスすることになる。階層メニューが読み込まれた後、ＣＰＵ１０１は、キャッシュメモリ１１１に格納されたデータを元にメニュー操作に対応するデータの処理を行う。このように、図６での具体例となっている情報処理システム１００は、ＣＰＵ１０１にてキャッシュミスが発生するが、連続したＰＩＯが発生していないため、共用リソース１０６に対するアクセス競合が発生しない状態である。
【００６７】
このとき、バスコントローラ１０８は、“０１０１”＝５ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００６８】
図７は、情報処理システム１００が状態５−１の場合の動作を示す説明図である。図７に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中であり、共用リソース１０６に対するアクセス競合を検出中であり、リアルタイム制約がある状態５−１の場合である。なお、情報処理システム１００が状態５−１となる具体例としては、情報処理システム１００がデータタウンロードを行い、かつ、情報処理システム１００内のデータを検索しており、かつ、通信着信が発生するような場合である。通信着信にはリアルタイム制約があるため、一定時間以内に応答することが求められる。
【００６９】
このとき、バスコントローラ１０８は、“１１１１”＝ｆＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、オーバークロックモードとして、バスのクロックの供給を１［ＧＨｚ］に設定し、メモリのクロック周波数を１．５［ＧＨｚ］に設定する。情報処理システム１００の性能を高めることで、情報処理システム１００はリアルタイム制約となるＱｏＳ時間１０［ミリ秒］以内に通信着信を応答することができる。このように、状態５−１における情報処理システム１００は、アクセス競合状態となっても、アクセス競合を解消し、リアルタイム制約の時間内に処理を実行することができる。
【００７０】
また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００７１】
図８は、情報処理システム１００が状態５−２の場合の動作を示す説明図である。図８に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中であり、共用リソース１０６に対するアクセス競合を検出中であり、リアルタイム制約がない状態５−２の場合である。なお、情報処理システム１００が状態５−１となる具体例としては、情報処理システム１００がデータタウンロードを行い、かつ、情報処理システム１００内のデータを検索しているような場合である。
【００７２】
このとき、バスコントローラ１０８は、“０１１１”＝７ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、低密度転送を示す“０”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、低密度転送となるワード転送を行う。
【００７３】
これにより、バス１０９のバス幅６４［ビット］のうち、ダブルワード転送からワード転送に切り替わって使用されなくなった３２［ビット］分のデータに、ＣＰＵ１０１によるＰＩＯ転送が入りやすくなる。このように、状態５−２における情報処理システム１００は、メモリに対するアクセス競合が発生した際に、消費電力を増大せずに、ＤＭＡ転送を行いつつも、ＣＰＵ１０１、ＣＰＵ１０２によるＰＩＯ転送も行えるようにすることができる。
【００７４】
以上説明したように、情報処理システムによれば、ＣＰＵによる第１情報であるキャッシュヒットか若しくはキャッシュミスかという情報と第２情報であるＤＭＡ使用中か否かという情報に応じてＰＭＵがクロックを変更する。これにより、情報処理システムは、メモリアクセス競合時にはオーバークロックに設定し競合を解消し、アクセスがないときにはクロック供給を停止させ消費電力を削減できる。また、本実施の形態にかかる情報処理システムは、ＤＭＡコントローラ、メモリコントローラに改版を行わないため、対応にかかるコストが少なくて済む。
【００７５】
また、アクセス競合を解消する方法として、シミュレーションによって競合が発生するか否かを判断し、ソフトウェアのスケジューラを操作することで、アクセス競合を解消することが可能である。しかしながら、ソフトウェアのスケジューラの操作方法とは、ソフトウェアのアクセス順序を入れ替えることでアクセス競合を解決しており、アクセス順序を入れ替えてもアクセス競合の解消を行えない場合も存在する。本実施の形態における情報処理システムでは、アクセス順序を入れ替えてもアクセス競合の解消を行えない場合であっても、アクセス競合を解消することができる。また、本実施の形態における情報処理システムはソフトウェアに対する改版も行わないため、対応にかかるコストが小さく、また、ＯＳのバージョンアップ等による対応も行わなくてよい。
【００７６】
また、情報処理システムは、第１情報がキャッシュヒットを示すとともに、第２情報が未使用である状態１を示す場合、ＰＭＵがバスのクロックを低消費電力モードに設定してもよい。これにより、情報処理システムは、消費電力を削減することができる。
【００７７】
また、情報処理システムは、第１情報がキャッシュヒットを示すとともに、第２情報が使用中である状態２を示す場合、ＰＭＵがバスのクロックを通常モードに設定してもよい。これにより、情報処理システムは、たとえば、ＣＰＵとＤＭＡコントローラとによるアクセス競合状態が解消し、ＤＭＡコントローラのみのアクセスとなった場合に、バスのクロックを通常に戻すことで、消費電力を削減することができる。
【００７８】
また、情報処理システムは、状態２を示す場合、ＤＭＡコントローラを高密度転送に設定してもよい。情報処理システムが状態２の時は、ＰＩＯ転送が発生していないため、ＤＭＡコントローラを高密度転送に設定することで、効率のよいデータ転送を行うことができる。
【００７９】
また、情報処理システムは、第１情報がキャッシュミスを示すとともに第２情報が未使用である状態３を示す場合、ＰＭＵがバスのクロックを通常モードに設定してもよい。これにより、情報処理システムは、たとえば、ＣＰＵとＤＭＡコントローラとによるアクセス競合状態が解消し、ＣＰＵのみのアクセスとなった場合に、バスのクロックを通常に戻すことで、消費電力を削減することができる。
【００８０】
また、情報処理システムは、第１情報がキャッシュミスを示すとともに第２情報が未使用である場合、アクセス競合状態か否かを示す第３情報に基づいて、消費電力モードを設定してもよい。これにより、情報処理システムは、メモリアクセス競合時にはオーバークロックに設定しアクセス競合を解消できる。
【００８１】
また、情報処理システムは、第３情報がアクセス非競合状態を示す状態４では、ＰＭＵがバスのクロックを通常モードに設定し、第３情報がアクセス競合状態を示すときには、ＰＭＵがバスのクロックをオーバークロックモードに設定してもよい。これにより、情報処理システムは、アクセス競合の発生中に限りオーバークロックに設定するため、最低限の消費電力増で済ませることができる。
【００８２】
また、情報処理システムは、状態４を示す場合、ＤＭＡコントローラを高密度転送に設定してもよい。情報処理システムが状態４のときは、ＰＩＯ転送が単発で発生している状態であり、ＰＩＯ転送の発生頻度が低い状態となるため、ＤＭＡコントローラを高密度転送に設定することで、効率のよいデータ転送を行うことができる。
【００８３】
また、情報処理システムは、第３情報がアクセス競合状態を示すとき、ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報に基づいて、消費電力モードを設定してもよい。これにより、情報処理システムは、時間制約があるリアルタイム応答時に限り、オーバークロックに設定しアクセス競合を解消できる。
【００８４】
また、情報処理システムは、第４情報が時間制約のあることを示す状態５−１のときは、ＰＭＵがバスのクロックをオーバークロックモードに設定し、第４情報が時間制約のないことを示す状態５−２のときは、通常モードに設定してもよい。これにより、情報処理システムは、アクセス競合の発生中で、かつリアルタイム制約があるときに限りオーバークロックに設定するため、最低限の消費電力増で済ませることができる。
【００８５】
また、情報処理システムは、状態５−１を示す場合、ＤＭＡコントローラを高密度転送に設定し、状態５−２を示す場合、ＤＭＡコントローラを低密度転送に設定してもよい。これにより、情報処理システムは、状態５−１のときに、リアルタイム制約があるため効率のよいデータ転送が行え、リアルタイム制約を順守することができる。また、情報処理システムは、状態５−２のときに、低密度転送を行うことで、ＰＩＯ転送が行いやすくなるため、アクセス競合を解消することができる。
【００８６】
また、本実施の形態で説明したバスコントローラ１０８は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述したバスコントローラ１０８の機能（キャッシュミス検出部１１９〜生成部１２３）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、バスコントローラ１０８を製造することができる。
【符号の説明】
【００８７】
１００  情報処理システム
１０１、１０２  ＣＰＵ
１０３、１０４  ＤＭＡコントローラ
１０５  メモリコントローラ
１０６  共用リソース
１０７  ＰＭＵ
１０８  バスコントローラ
１０９  バス
１１０、１１２、１１６  ステータスレジスタ
１１１、１１３  キャッシュメモリ
１１４、１１５、１１７  制御レジスタ
１１８  設定部
１１９  キャッシュミス検出部
１２０  高速Ｉ／Ｏ検出部
１２１  アクセス競合検出部
１２２  設定レジスタ
１２３  生成部
【図１】
2012066621.tif 000003
【図２】
2012066621.tif 000004
【図３】
2012066621.tif 000005
【図４】
2012066621.tif 000006
【図５】
2012066621.tif 000007
【図６】
2012066621.tif 000008
【図７】
2012066621.tif 000009
【図８】
2012066621.tif 000010
【手続補正書】
【提出日】平成25年5月15日(2013.5.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスに接続されるＣＰＵと、  バスに接続されるデバイスと、  前記ＣＰＵまたは前記デバイスにアクセスされるメモリと、  消費電力モードを設定するパワーモード制御回路と、  を含み、  前記パワーモード制御回路は、前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報と前記デバイスの活性化状態若しくは非活性化状態を示す第２情報とに基づいて、前記消費電力モードを設定すること  を特徴とする情報処理システム。
【請求項２】
前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が非活性化状態を示すときに、低消費電力モードを設定すること  を特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が活性化状態を示すときに、通常モードを設定すること  を特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が非活性化状態を示すときに、通常モードを設定すること  を特徴とする請求項１乃至請求項３の何れか一の請求項に記載の情報処理システム。
【請求項５】
前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が活性化状態を示すとき、前記バスのアクセス競合状態若しくは非競合状態を示す第３情報に基づいて、前記消費電力モードを設定すること  を特徴とする請求項１乃至請求項４の何れか一の請求項に記載の情報処理システム。
【請求項６】
前記パワーモード制御回路は、  前記第３情報が前記バスのアクセス非競合状態を示すときは通常モードに設定し、前記第３情報が前記バスのアクセス競合状態を示すときはオーバークロックモードに設定すること  を特徴とする請求項１乃至請求項５の何れか一の請求項に記載の情報処理システム。
【請求項７】
前記デバイスはＤＭＡコントローラを含み、ＤＭＡ転送モードが設定されること  を特徴とする請求項３または請求項５に記載の情報処理システム。
【請求項８】
バスに接続されるＣＰＵと、  バスに接続されるデバイスと、  前記バスを介して前記ＣＰＵおよび前記デバイスの接続されるメモリと、  前記バスのアクセスを監視するバスコントローラと、  前記バスコントローラからの設定信号に基づいて消費電力モードを設定するパワーモード制御回路と、  を含み、  前記バスコントローラは、  前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報を検出する第１回路と、  前記デバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する第２回路と  を含むことを特徴とする情報処理システム。
【請求項９】
前記バスコントローラは、前記ＣＰＵが前記メモリに連続アクセスを行うか否かの第３情報を検出する第３回路を含むこと  を特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記第１回路から出力される第１情報と前記第２回路から出力される第２情報とに基づいて前記設定信号を生成する第５回路を含むこと  を特徴とする請求項８または請求項９に記載の情報処理システム。
【請求項１１】
前記第１回路は、前記ＣＰＵ内のステータスレジスタの出力に基づいて前記第１情報を検出し、  前記第２回路は、前記デバイス内の制御レジスタの出力に基づいて前記第２情報を検出すること  を特徴とする請求項８乃至請求項１０の何れか一の請求項に記載の情報処理システム。
【請求項１２】
前記第３回路は、前記メモリを制御するメモリコントローラ内のステータスレジスタの出力に基づいて前記第３情報を検出すること  を特徴とする請求項９に記載の情報処理システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、アクセス競合を監視する情報処理システムに関する。
【背景技術】
【０００２】  近年、１つのシステム内に、複数のコアを有するマルチコアプロセッサシステムの形態を採用する情報処理システムが増加している。マルチコアプロセッサシステムにおけるバスには、複数のコアからによる様々なパターンのデータが流れる。具体的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等から発生したデータがバスに流れる。ＣＰＵからメモリに対するアクセスは、１サイクルで転送するデータ量である転送単位が小さいアクセスとなり、ＤＭＡコントローラ、ＤＳＰなどの高速転送デバイスからメモリに対するアクセスは、転送単位が大きいアクセスとなる。【０００３】  このように、転送単位にばらつきのあるアクセスに対して、情報処理システム設計時には、アクセスの総量がオーバーフローしないように設計される。しかし、入出力対象のＩ／Ｏが１ポート、またはポート数が限られている場合に、そのポートでアクセス競合が発生することがあった。【０００４】  アクセス競合を解消する技術として、バス幅、クロック周波数を大きくし、さらなる高速化を行って、アクセス競合を解消するという技術が存在する（以下、「従来技術１」と称する。）。また、他の技術として、メモリの入出力を制御するメモリコントローラがアクセス要求を一時的に保留するキューイングシステムを有することで、アクセス競合の影響を最小化する技術が存在する（以下、「従来技術２」と称する。）。【０００５】  また、他のアクセス競合を解消する技術として、メモリコントローラがキャッシュミスを監視し、キャッシュミス回数が閾値以上となったときに、ＤＭＡのサイクルスチールモードにおける転送単位を小さくする技術が開示されている（たとえば、下記特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】  しかしながら、上述した従来技術において、従来技術１にかかる技術では、アクセス競合発生時以外であっても処理能力が増大するために、消費電力が増大し利用効率が下がるという問題があった。また、従来技術２にかかる技術を適用しても、アクセス要求に対する応答の遅延が発生するという問題があった。【０００８】  また、特許文献１にかかる技術では、ＣＰＵ、ＤＭＡコントローラ、ＤＳＰ等からのアクセスについて、どのアクセスがＣＰＵからのアクセスであるか特定することが困難であるという問題があった。また、特許文献１にかかる技術にて、リアルタイム制約がある処理を実行中の場合に、ＤＭＡコントローラの転送単位を小さくすると、ＤＭＡコントローラの転送効率が低下し、リアルタイム制約に違反してしまう可能性が高くなるという問題があった。【０００９】  本発明は、上述した従来技術による問題点を解消するため、消費電力を抑えつつ、アクセス競合を解消できる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】  上述した課題を解決し、目的を達成するため、開示の情報処理システムは、バスに接続されるＣＰＵと、バスに接続されるデバイスと、ＣＰＵまたはデバイスにアクセスされるメモリと、消費電力モードを設定するパワーモード制御回路と、を含み、パワーモード制御回路は、ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報とデバイスの活性化状態若しくは非活性化状態を示す第２情報とに基づいて、消費電力モードを設定する。
【発明の効果】
【００１１】  本情報処理システムによれば、メモリアクセス競合時にはオーバークロックに設定しアクセス競合を回避し、アクセスがないときにはクロック供給を停止させ消費電力を削減できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかる情報処理システム１００のハードウェアを示すブロック図である。
【図２】生成部１２３と設定部１１８の動作を示す説明図である。
【図３】情報処理システム１００が状態１の場合の動作を示す説明図である。
【図４】情報処理システム１００が状態２の場合の動作を示す説明図である。
【図５】情報処理システム１００が状態３の場合の動作を示す説明図である。
【図６】情報処理システム１００が状態４の場合の動作を示す説明図である。
【図７】情報処理システム１００が状態５−１の場合の動作を示す説明図である。
【図８】情報処理システム１００が状態５−２の場合の動作を示す説明図である。
【発明を実施するための形態】
【００１３】  以下に添付図面を参照して、開示の情報処理システムの好適な実施の形態を詳細に説明する。
【００１４】（情報処理システム１００のハードウェア）  図１は、実施の形態にかかる情報処理システム１００のハードウェアを示すブロック図である。図１において、情報処理システム１００は、ＣＰＵ１０１と、ＣＰＵ１０２と、ＤＭＡコントローラ１０３と、ＤＭＡコントローラ１０４とを含む。さらに、情報処理システム１００は、メモリコントローラ１０５と、共用リソース１０６と、パワーモード制御回路（以下、ＰＭＵ（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）と呼称する）１０７と、バスコントローラ１０８と、を含む。また、各部はバス１０９によってそれぞれ接続されている。また、ユーザやその他の機器との入出力装置として情報処理システム１００は、ディスプレイ、キーボード等が接続されていてもよい。
【００１５】  ＣＰＵ１０１、ＣＰＵ１０２は、情報処理システム１００の全体の制御を司る。このように、情報処理システム１００は、複数のコアを含むマルチコアプロセッサシステムの形態をとる。また、情報処理システム１００は、コアが一つであるシングルコアプロセッサシステムであってもよい。また、マルチコアプロセッサシステムとは、コアが複数搭載されたプロセッサを含むコンピュータのシステムである。コアが複数搭載されていれば、複数のコアが搭載された単一のプロセッサでもよく、シングルコアのプロセッサが並列されているプロセッサ群でもよい。
【００１６】  また、ＣＰＵ１０１は、ＣＰＵのレジスタ群の一つである、ＣＰＵ１０１の状態であるステータス情報を格納するステータスレジスタ１１０、キャッシュメモリ１１１を有する。同様に、ＣＰＵ１０２は、ステータスレジスタ１１２、キャッシュメモリ１１３を有する。ステータスレジスタ１１０、ステータスレジスタ１１２が格納するステータス情報として、たとえば、演算結果の正負、オーバーフローの発生、などといった、プログラム実行に伴う状態である。
【００１７】  また、ステータスレジスタ１１０、ステータスレジスタ１１２は、ＣＰＵ１０１、ＣＰＵ１０２が共用リソース１０６にアクセスを行ったか否かの情報を、ステータス情報の一つとして格納している。ＣＰＵ１０１、ＣＰＵ１０２による共用リソース１０６のデータ転送をＰＩＯ（Ｐｒｏｇｒａｍｍｅｄ  Ｉ／Ｏ）転送とする。なお、ＰＩＯ転送が発生する場合としては、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュメモリ１１１、キャッシュメモリ１１３内のデータを検索し、検索後要求されたデータが存在しなかった結果、共用リソース１０６にアクセスした場合である。以下の説明では、キャッシュメモリ１１１、キャッシュメモリ１１３にデータが存在した場合をキャッシュヒットと呼称し、データが存在しなかった場合をキャッシュミスと呼称する。
【００１８】  なお、ＰＩＯ転送が発生する別の場合として、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュメモリ１１１、キャッシュメモリ１１３内のデータを検索せずに、共用リソース１０６にアクセスする場合もある。この動作も、前述にて定義したキャッシュミスに含めることとする。したがって、ステータスレジスタ１１０、ステータスレジスタ１１２を参照することで、ＣＰＵ１０１、ＣＰＵ１０２がキャッシュヒット若しくはキャッシュミスをしたことが判断できる。
【００１９】  ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、ＣＰＵ１０１、ＣＰＵ１０２を介さず、共用リソース１０６に対してデータ転送を行う装置である。また、ＤＭＡコントローラ１０３は、値を設定することでＤＭＡコントローラ１０３を制御可能な制御レジスタ１１４を有する。同様に、ＤＭＡコントローラ１０４は、制御レジスタ１１５を有する。なお、制御レジスタ１１４、制御レジスタ１１５には、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のステータス情報を格納するフィールドも含まれる。
【００２０】  ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、１サイクルで転送するデータ量である転送単位が変更できてもよい。たとえば、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、転送単位がバス１０９のバス幅と一致していてもよいし、転送単位がバス１０９のバス幅より小さくてもよい。転送単位がバス１０９のバス幅と一致している場合、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、最も効率よくデータ転送することができる。以下、転送単位がバス１０９のバス幅と一致する場合を高密度転送、転送単位がバス１０９のバス幅より小さい場合を低密度転送と呼称する。
【００２１】  メモリコントローラ１０５は、ＣＰＵ１０１〜ＤＭＡコントローラ１０４による共用リソース１０６へのアクセス権の競合を調停する装置である。また、メモリコントローラ１０５は、メモリコントローラ１０５の状態を格納するステータスレジスタ１１６を有する。なお、本実施の形態にかかる情報処理システム１００は、携帯型の端末といったリソースの限られた組み込み機器を想定しており、共用リソース１０６も１つで充分であることを想定している。しかし、もし共用リソース１０６が複数存在する場合、メモリコントローラ１０５は、複数存在してもよい。
【００２２】  共用リソース１０６は、ＣＰＵ１０１〜ＤＭＡコントローラ１０４がアクセスするメモリである。メモリは、たとえば、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュＲＯＭなどである。
【００２３】  ＰＭＵ１０７は、情報処理システム１００の消費電力を管理する。たとえば、ＰＭＵ１０７がバス１０９へのクロックを停止させることで、情報処理システム１００の消費電力が低くなる低消費電力モードになる。または、ＰＭＵ１０７がバス１０９へのクロックを所定値に設定することで、通常モードになる。または、ＰＭＵ１０７がバス１０９へのクロックを所定値より大きいクロックに設定することで、情報処理システム１００の消費電力が大きくなるオーバークロックモードになる。また、ＰＭＵ１０７は、値を設定することでＰＭＵ１０７を制御可能な制御レジスタ１１７と、制御レジスタ１１７に基づいて消費電力モードを設定する設定部１１８を有する。
【００２４】  バスコントローラ１０８は、ＣＰＵ１０１〜メモリコントローラ１０５のステータス情報を監視し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４、ＰＭＵ１０７の設定を変更する。また、バスコントローラ１０８は、キャッシュミス検出部１１９、高速Ｉ／Ｏ検出部１２０、アクセス競合検出部１２１、設定レジスタ１２２、生成部１２３を含む。
【００２５】  キャッシュミス検出部１１９は、ステータスレジスタ１１０、ステータスレジスタ１１２に格納されている情報の一つである、キャッシュヒット若しくはキャッシュミスを示す第１情報を検出する機能を有する。なお、キャッシュミス検出部１１９は、ステータスレジスタ１１０、ステータスレジスタ１１２の少なくとも何れか一方が、キャッシュミスを示した場合、第１情報をキャッシュミスとして検出する。
【００２６】  高速Ｉ／Ｏ検出部１２０は、バス１０９に接続されるデバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する機能を有する。ここで、デバイスとは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＤＭＡコントローラといった、共用リソース１０６にアクセスするデバイスを指している。本実施の形態にかかる高速Ｉ／Ｏ検出部１２０では、制御レジスタ１１４、制御レジスタ１１５に格納されている情報の一つである、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４が使用中か否かという情報を第２情報として検出する。
【００２７】  具体的には、高速Ｉ／Ｏ検出部１２０は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４が使用中の状態を活性化状態、未使用の状態を非活性化状態として第２情報を検出する。なお、高速Ｉ／Ｏ検出部１２０は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中となった場合、第２情報を活性化状態として検出する。
【００２８】  アクセス競合検出部１２１は、ステータスレジスタ１１６に格納されている情報の一つである、共用リソース１０６に対するアクセス競合状態若しくは非競合状態を示す第３情報を検出する機能を有する。
【００２９】  設定レジスタ１２２は、バスコントローラ１０８の動作を設定するレジスタである。たとえば、設定レジスタ１２２は、キャッシュミス検出部１１９〜アクセス競合検出部１２１を機能させるか否かが設定可能となっていてもよい。また、設定レジスタ１２２は、ＣＰＵ１０１、ＣＰＵ１０２で実行されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって、情報処理システム１００にリアルタイム制約があるか否かという第４情報が設定されてもよい。なお、リアルタイム制約とは、ＣＰＵ１０１、ＣＰＵ１０２で実行される処理に対して、応答時間が設定されている状態を示す。また、第４情報は、情報処理システム１００の起動時に設定されてもよいし、起動後に途中で値が変更されてもよい。
【００３０】  生成部１２３は、キャッシュミス検出部１１９〜設定レジスタ１２２の値に基づいて、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４、ＰＭＵ１０７に対する設定信号を生成する。設定信号には、ＰＭＵ１０７に対するＰＭＵ設定信号と、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に対するＤＭＡ設定信号と、が含まれる。
【００３１】  具体的に、生成される情報として、生成部１２３は、ＰＭＵ１０７に対して、キャッシュミス検出部１１９〜設定レジスタ１２２の各情報を１ビットとした少なくとも４ビットのＰＭＵ設定信号を生成する。また、生成部１２３は、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に対して、キャッシュミス検出部１１９〜設定レジスタ１２２の値の組み合わせにより決定される１ビットのＤＭＡ設定信号を生成する。さらに詳細なＰＭＵ設定信号、ＤＭＡ設定信号の内容については、図２にて後述する。
【００３２】  図２は、生成部１２３と設定部１１８の動作を示す説明図である。設定部１１８は、生成部１２３によって生成されるキャッシュミス検出部１１９〜設定レジスタ１２２の４つの値によるＰＭＵ設定信号に応じて、ＰＭＵ１０７の動作を設定する。また、図２では、生成部１２３によって生成されるＤＭＡ設定信号に応じたＤＭＡコントローラ１０３、１０４の動作についても、併せて説明を行う。
【００３３】  また、図２で示す表２０１、表２０２は、ＰＭＵ設定信号に応じた生成部１２３と設定部１１８の動作を示している。具体的に、表２０１は、第１情報、第２情報の組み合わせによる生成部１２３と設定部１１８の動作について図示しており、表２０２は、さらに、第３情報、第４情報との組み合わせによる生成部１２３と設定部１１８の動作について図示している。
【００３４】  生成部１２３は、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）となる０ビット目が第２情報を示し、１ビット目が第３情報を示し、２ビット目が第１情報を示し、３ビット目が第４情報を示すＰＭＵ設定信号を生成する。以下、第２情報を示す０ビット目が“０”であれば非活性化状態を示し、“１”であれば活性化状態を示すこととする。同様に、第３情報を示す１ビット目が“０”であれば非競合状態を示し、“１”であれば競合状態を示す。また、第１情報を示す２ビット目が“０”であればキャッシュヒットを示し、“１”であればキャッシュミスを示す。また、第４情報を示す３ビット目が“０”であればリアルタイム制約がないことを示し、“１”であればリアルタイム制約があることを示す。
【００３５】  始めに表２０１の１行１項目について説明を行う。生成部１２３は、第１情報がキャッシュヒットを示すとともに第２情報が非活性化状態を示すときに、ＰＭＵ１０７を低消費電力モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュヒットであり、かつ、第２情報が非活性化状態である情報処理システム１００の状態を、状態１と呼称する。また、生成部１２３は、情報処理システム１００が状態１の場合、ＤＭＡ設定信号を生成しない。
【００３６】  具体的に、情報処理システム１００が状態１の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“０”、１ビット目が“０”、２ビット目が“０”、３ビット目が“０”となる”００００”を生成する。生成されたＰＭＵ設定信号は、制御レジスタ１１７に設定される。
【００３７】  設定部１１８は、第１情報がキャッシュヒットを示すとともに第２情報が非活性化状態を示すときに、低消費電力モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態１の場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“００００”を読み取り、低消費電力モードを設定する。低消費電力モードとなった場合、ＰＭＵ１０７は、バス１０９へのクロックを停止させる。このとき、共用リソース１０６のうち、ＤＲＡＭに関するリフレッシュクロックの供給は継続される。なお、状態１に関する情報処理システム１００の詳細な動作に関しては、図３にて後述する。
【００３８】  次に、表２０１の２行１項目について説明を行う。また、生成部１２３は、第１情報がキャッシュヒットを示すとともに第２情報が活性化状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュヒットであり、かつ第２情報が活性化状態である情報処理システム１００の状態を、状態２と呼称する。また、生成部１２３は、情報処理システム１００が状態２の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００３９】  具体的に、情報処理システム１００が状態２の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“０”、２ビット目が“０”、３ビット目が“０”となる”０００１”を生成する。
【００４０】  また、設定部１１８は、第１情報がキャッシュヒットを示すとともに第２情報が活性化状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の何れか一方が使用中である状態２である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０００１”を読み取り、通常モードを設定する。なお、状態２に関する情報処理システム１００の詳細な動作に関しては、図４にて後述する。
【００４１】  次に、表２０１の１行２項目について説明を行う。生成部１２３は、第１情報がキャッシュミスを示すとともに第２情報が非活性化状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が非活性化状態である情報処理システム１００の状態を、状態３と呼称する。また、生成部１２３は、情報処理システム１００が状態３の場合、ＤＭＡ設定信号を生成しない。具体的に、情報処理システム１００が状態３の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“０”、１ビット目が“０”、２ビット目が“１”、３ビット目が“０”となる”０１００”を生成する。
【００４２】  また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が非活性化状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態３である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１００”を読み取り、通常モードを設定する。
【００４３】  また、設定部１１８は、情報処理システム１００がメモリアクセスレイテンシのある回路である場合に、ＣＰＵ／メモリのクロック比率を変更する。なお、メモリアクセスレイテンシのある回路とは、メモリアクセスの発行命令からメモリアクセスまで２サイクル以上かかる回路のことである。なお、状態３に関する情報処理システム１００の詳細な動作に関しては、図５にて後述する。
【００４４】  次に、表２０１の２行２項目について説明を行う。キャッシュミス検出部１１９と高速Ｉ／Ｏ検出部１２０が２行２項目に当てはまる場合、生成部１２３、設定部１１８は、表２０２の条件に従う。始めに、表２０２の１行目について説明する。生成部１２３は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス非競合状態を示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス非競合状態である情報処理システム１００の状態を、状態４と呼称する。また、生成部１２３は、情報処理システム１００が状態４の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００４５】  具体的に、情報処理システム１００が状態４の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“０”、２ビット目が“１”、３ビット目が“０”となる”０１０１”を生成する。
【００４６】  また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス非競合状態を示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中であり、メモリコントローラ１０５が非競合状態である場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１０１”を読み取り、通常モードを設定する。なお、状態４に関する情報処理システム１００の詳細な動作に関しては、図６にて後述する。
【００４７】  次に、表２０２の２行１項目について説明する。生成部１２３は、第３情報がアクセス競合状態を示すとともに第４情報がリアルタイム制約ありを示すときに、ＰＭＵ１０７をオーバークロックモードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス非競合状態であり、かつ第４情報がリアルタイム制約ありの状態となる情報処理システム１００の状態を、状態５−１と呼称する。また、生成部１２３は、情報処理システム１００が状態５−１の場合、ＤＭＡ設定信号として、高密度転送を示す“１”を生成する。
【００４８】  具体的に、情報処理システム１００が状態５−１の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“１”、２ビット目が“１”、３ビット目が“１”となる”１１１１”を生成する。
【００４９】  また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス競合状態を示し、さらに第４情報がリアルタイム制約ありを示すときに、オーバークロックモードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中である。さらに、共用リソース１０６が競合状態であり、リアルタイム制約ありの場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“１１１１”を読み取り、オーバークロックモードを設定する。なお、状態５−１に関する情報処理システム１００の詳細な動作に関しては、図７にて後述する。
【００５０】  最後に、表２０２の２行２項目について説明する。生成部１２３は、第３情報がアクセス競合状態を示すとともに第４情報がリアルタイム制約なしを示すときに、ＰＭＵ１０７を通常モードに設定させるＰＭＵ設定信号を生成してもよい。なお、第１情報がキャッシュミスであり、かつ第２情報が活性化状態であり、かつ第３情報がアクセス競合状態であり、かつ第４情報がリアルタイム制約なしの状態となる情報処理システム１００の状態を、状態５−２と呼称する。また、生成部１２３は、情報処理システム１００が状態５−２の場合、ＤＭＡ設定信号として、低密度転送を示す“０”を生成する。
【００５１】  具体的に、情報処理システム１００が状態５−２の場合、生成部１２３は、ＰＭＵ設定信号として０ビット目が“１”、１ビット目が“１”、２ビット目が“１”、３ビット目が“０”となる”０１１１”を生成する。
【００５２】  また、設定部１１８は、第１情報がキャッシュミスを示すとともに第２情報が活性化状態を示し、さらに第３情報がアクセス競合状態を示し、さらに第４情報がリアルタイム制約なしを示すときに、通常モードを設定してもよい。たとえば、ＣＰＵ１０１、ＣＰＵ１０２の少なくとも何れか一方がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４の少なくとも何れか一方が使用中である。さらに、共用リソース１０６が競合状態であり、リアルタイム制約なしの場合を想定する。このとき、設定部１１８は、制御レジスタ１１７より“０１１１”を読み取り、通常モードを設定する。なお、状態５−２に関する情報処理システム１００の詳細な動作に関しては、図８にて後述する。
【００５３】  図２にて説明を行った状態１〜状態５−２について、図３〜図８にて具体例を記述する。なお、図３〜図８における情報処理システム１００の性能は下記の通りである。バス１０９は、バス幅が６４［ビット］、クロック周波数が所定値である５００［ＭＨｚ］で動作する。ＣＰＵ１０１、ＣＰＵ１０２のバス幅が３２［ビット］、クロック周波数が１［ＧＨｚ］で動作する。共用リソース１０６の一つであるメモリについては、以下２つの設定が可能であると想定する。１つ目の設定が、バス幅が６４［ビット］、クロック周波数が１［ＧＨｚ］で動作するＣＰＵとメモリのクロック比が１：１となる設定である。２つ目の設定が、バス幅が６４［ビット］、クロック周波数が５００［ＭＨｚ］で動作するＣＰＵとメモリのクロック比が２：１となる設定である。
【００５４】  また、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、転送単位がワード転送、またはダブルワード転送という２つの転送方法の何れかで動作する。特に設定の変更がない場合、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、ダブルワード転送を行う。また、本実施の形態では、１ワードを３２ビットであると想定する。したがって、ワード転送では、１クロックにて３２［ビット］のデータ量を転送し、ダブルワード転送では１クロックにて６４［ビット］のデータ量を転送する。また、情報処理システム１００が実行する処理の一つである通信着信は、リアルタイム制約となるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）時間として１０［ミリ秒］以内の応答が要求される。
【００５５】  なお、説明の簡略化のため、図３〜図８にて、キャッシュミスが発生したＣＰＵは、ＣＰＵ１０１であると想定する。同様に、使用中となったＤＭＡコントローラは、ＤＭＡコントローラ１０３であると想定する。
【００５６】  図３は、情報処理システム１００が状態１の場合の動作を示す説明図である。図３に示す情報処理システム１００は、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４のいずれも未使用である状態１の場合である。なお、情報処理システム１００が状態１となる具体例としては、ユーザが情報処理システム１００を操作しない状態で、カーネルプロセスなどが周期的に動作し、かつ常にキャッシュヒットしている状態で動作している場合である。
【００５７】  このとき、バスコントローラ１０８は、“００００”＝０ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。なお、３ビット目である第４情報について、設定レジスタ１２２にリアルタイム制約がありと設定されていても、０ビット目〜２ビット目全てが“１”でないと判断基準として利用されない。したがって、バスコントローラ１０８は、リアルタイム制約なしを示す“０”を設定する。または、バスコントローラ１０８は、“１０００”というＰＭＵ設定信号を生成し、設定部１１８は、０ビット目〜２ビット目全てが“１”でないことから、３ビット目を無効として扱ってもよい。この動作は、状態２〜状態４についても同様である。
【００５８】  ＰＭＵ設定信号が設定されたＰＭＵ１０７は、低消費電力モードとして、共用リソース１０６のうち、ＤＲＡＭに関するリフレッシュクロック以外となるバス１０９のクロックの供給を停止させる。このように、状態１における情報処理システム１００では、バス１０９が使用されていないため、クロックの供給を止めることができ、消費電力を削減することができる。
【００５９】  図４は、情報処理システム１００が状態２の場合の動作を示す説明図である。図４に示す情報処理システム１００は、ＣＰＵ１０１、ＣＰＵ１０２のいずれもキャッシュヒットをしており、ＤＭＡコントローラ１０３が使用中である状態２の場合である。なお、情報処理システム１００が状態２となる具体例としては、ＤＭＡコントローラ１０３を使用したダウンロード処理を行っており、ユーザが情報処理システム１００を操作せず、カーネルプロセスが常にキャッシュヒットの状態で動作している場合である。
【００６０】  このとき、バスコントローラ１０８は、“０００１”＝１ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００６１】  図５は、情報処理システム１００が状態３の場合の動作を示す説明図である。図５に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４がいずれも未使用である状態３の場合である。なお、情報処理システム１００が状態３となる具体例としては、情報処理システム１００内のデータを検索している場合である。
【００６２】  このとき、バスコントローラ１０８は、“０１００”＝４ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、情報処理システム１００はメモリアクセスレイテンシがある回路であることを想定しているため、ＣＰＵ／メモリのクロック比率を２：１に設定する。図５の例では、メモリのクロック数を５００［ＭＨｚ］に減ずる。
【００６３】  なお、クロック比率を２：１に設定する理由として、情報処理システム１００が状態３では、共用リソース１０６のメモリに対してＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４からのアクセスが存在しない。したがって、クロック比率の設定については、ＣＰＵ１０１、ＣＰＵ１０２からのアクセスに対して考慮すればよい。ＣＰＵ１０１、ＣＰＵ１０２のバス幅は３２［ビット］であり、メモリのバス幅６４［ビット］の半分の値であるため、メモリのクロック数をＣＰＵ１０１、ＣＰＵ１０２の半分の設定にしても、ＣＰＵ１０１、ＣＰＵ１０２からのアクセスに対応することができる。
【００６４】  このように、状態３における情報処理システム１００は、共用リソース１０６のメモリに対してＣＰＵ１０１、ＣＰＵ１０２からのアクセスに限定することで、メモリのクロック数を下げることができ、消費電力を削減することができる。
【００６５】  図６は、情報処理システム１００が状態４の場合の動作を示す説明図である。図６に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中である状態４の場合である。なお、情報処理システム１００が状態４となる具体例としては、バックグラウンドでダウンロード処理を行っており、ユーザのメニュー操作によるイベント受信を受けた場合である。
【００６６】  このとき、メニュー操作により階層メニューを初めて読み込んだ際に、ＣＰＵ１０１は、キャッシュメモリ１１１に対して、新たな階層メニューのデータが存在するか検索する。階層メニューは初めて読み込まれるため、キャッシュメモリ１１１に存在せず、ＣＰＵ１０１は、共用リソース１０６にアクセスすることになる。階層メニューが読み込まれた後、ＣＰＵ１０１は、キャッシュメモリ１１１に格納されたデータを元にメニュー操作に対応するデータの処理を行う。このように、図６での具体例となっている情報処理システム１００は、ＣＰＵ１０１にてキャッシュミスが発生するが、連続したＰＩＯが発生していないため、共用リソース１０６に対するアクセス競合が発生しない状態である。
【００６７】  このとき、バスコントローラ１０８は、“０１０１”＝５ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００６８】  図７は、情報処理システム１００が状態５−１の場合の動作を示す説明図である。図７に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中であり、共用リソース１０６に対するアクセス競合を検出中であり、リアルタイム制約がある状態５−１の場合である。なお、情報処理システム１００が状態５−１となる具体例としては、情報処理システム１００がデータタウンロードを行い、かつ、情報処理システム１００内のデータを検索しており、かつ、通信着信が発生するような場合である。通信着信にはリアルタイム制約があるため、一定時間以内に応答することが求められる。
【００６９】  このとき、バスコントローラ１０８は、“１１１１”＝ｆＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、オーバークロックモードとして、バスのクロックの供給を１［ＧＨｚ］に設定し、メモリのクロック周波数を１．５［ＧＨｚ］に設定する。情報処理システム１００の性能を高めることで、情報処理システム１００はリアルタイム制約となるＱｏＳ時間１０［ミリ秒］以内に通信着信を応答することができる。このように、状態５−１における情報処理システム１００は、アクセス競合状態となっても、アクセス競合を解消し、リアルタイム制約の時間内に処理を実行することができる。
【００７０】  また、バスコントローラ１０８は、高密度転送を示す“１”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、高密度転送となるダブルワード転送を行う。
【００７１】  図８は、情報処理システム１００が状態５−２の場合の動作を示す説明図である。図８に示す情報処理システム１００は、ＣＰＵ１０１がキャッシュミスをしており、ＤＭＡコントローラ１０３が使用中であり、共用リソース１０６に対するアクセス競合を検出中であり、リアルタイム制約がない状態５−２の場合である。なお、情報処理システム１００が状態５−１となる具体例としては、情報処理システム１００がデータタウンロードを行い、かつ、情報処理システム１００内のデータを検索しているような場合である。
【００７２】  このとき、バスコントローラ１０８は、“０１１１”＝７ＨというＰＭＵ設定信号を生成し、ＰＭＵ１０７に送信する。ＰＭＵ設定信号が設定されたＰＭＵ１０７は、通常モードとして、バス１０９へのクロックの供給を５００［ＭＨｚ］に設定する。また、バスコントローラ１０８は、低密度転送を示す“０”というＤＭＡ設定信号を生成し、ＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４に送信する。ＤＭＡ設定信号が設定されたＤＭＡコントローラ１０３、ＤＭＡコントローラ１０４は、低密度転送となるワード転送を行う。
【００７３】  これにより、バス１０９のバス幅６４［ビット］のうち、ダブルワード転送からワード転送に切り替わって使用されなくなった３２［ビット］分のデータに、ＣＰＵ１０１によるＰＩＯ転送が入りやすくなる。このように、状態５−２における情報処理システム１００は、メモリに対するアクセス競合が発生した際に、消費電力を増大せずに、ＤＭＡ転送を行いつつも、ＣＰＵ１０１、ＣＰＵ１０２によるＰＩＯ転送も行えるようにすることができる。
【００７４】  以上説明したように、情報処理システムによれば、ＣＰＵによる第１情報であるキャッシュヒットか若しくはキャッシュミスかという情報と第２情報であるＤＭＡ使用中か否かという情報に応じてＰＭＵがクロックを変更する。これにより、情報処理システムは、メモリアクセス競合時にはオーバークロックに設定し競合を解消し、アクセスがないときにはクロック供給を停止させ消費電力を削減できる。また、本実施の形態にかかる情報処理システムは、ＤＭＡコントローラ、メモリコントローラに改版を行わないため、対応にかかるコストが少なくて済む。
【００７５】  また、アクセス競合を解消する方法として、シミュレーションによって競合が発生するか否かを判断し、ソフトウェアのスケジューラを操作することで、アクセス競合を解消することが可能である。しかしながら、ソフトウェアのスケジューラの操作方法とは、ソフトウェアのアクセス順序を入れ替えることでアクセス競合を解決しており、アクセス順序を入れ替えてもアクセス競合の解消を行えない場合も存在する。本実施の形態における情報処理システムでは、アクセス順序を入れ替えてもアクセス競合の解消を行えない場合であっても、アクセス競合を解消することができる。また、本実施の形態における情報処理システムはソフトウェアに対する改版も行わないため、対応にかかるコストが小さく、また、ＯＳのバージョンアップ等による対応も行わなくてよい。
【００７６】  また、情報処理システムは、第１情報がキャッシュヒットを示すとともに、第２情報が未使用である状態１を示す場合、ＰＭＵがバスのクロックを低消費電力モードに設定してもよい。これにより、情報処理システムは、消費電力を削減することができる。
【００７７】  また、情報処理システムは、第１情報がキャッシュヒットを示すとともに、第２情報が使用中である状態２を示す場合、ＰＭＵがバスのクロックを通常モードに設定してもよい。これにより、情報処理システムは、たとえば、ＣＰＵとＤＭＡコントローラとによるアクセス競合状態が解消し、ＤＭＡコントローラのみのアクセスとなった場合に、バスのクロックを通常に戻すことで、消費電力を削減することができる。
【００７８】  また、情報処理システムは、状態２を示す場合、ＤＭＡコントローラを高密度転送に設定してもよい。情報処理システムが状態２の時は、ＰＩＯ転送が発生していないため、ＤＭＡコントローラを高密度転送に設定することで、効率のよいデータ転送を行うことができる。
【００７９】  また、情報処理システムは、第１情報がキャッシュミスを示すとともに第２情報が未使用である状態３を示す場合、ＰＭＵがバスのクロックを通常モードに設定してもよい。これにより、情報処理システムは、たとえば、ＣＰＵとＤＭＡコントローラとによるアクセス競合状態が解消し、ＣＰＵのみのアクセスとなった場合に、バスのクロックを通常に戻すことで、消費電力を削減することができる。
【００８０】  また、情報処理システムは、第１情報がキャッシュミスを示すとともに第２情報が未使用である場合、アクセス競合状態か否かを示す第３情報に基づいて、消費電力モードを設定してもよい。これにより、情報処理システムは、メモリアクセス競合時にはオーバークロックに設定しアクセス競合を解消できる。
【００８１】  また、情報処理システムは、第３情報がアクセス非競合状態を示す状態４では、ＰＭＵがバスのクロックを通常モードに設定し、第３情報がアクセス競合状態を示すときには、ＰＭＵがバスのクロックをオーバークロックモードに設定してもよい。これにより、情報処理システムは、アクセス競合の発生中に限りオーバークロックに設定するため、最低限の消費電力増で済ませることができる。
【００８２】  また、情報処理システムは、状態４を示す場合、ＤＭＡコントローラを高密度転送に設定してもよい。情報処理システムが状態４のときは、ＰＩＯ転送が単発で発生している状態であり、ＰＩＯ転送の発生頻度が低い状態となるため、ＤＭＡコントローラを高密度転送に設定することで、効率のよいデータ転送を行うことができる。
【００８３】  また、情報処理システムは、第３情報がアクセス競合状態を示すとき、ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報に基づいて、消費電力モードを設定してもよい。これにより、情報処理システムは、時間制約があるリアルタイム応答時に限り、オーバークロックに設定しアクセス競合を解消できる。
【００８４】  また、情報処理システムは、第４情報が時間制約のあることを示す状態５−１のときは、ＰＭＵがバスのクロックをオーバークロックモードに設定し、第４情報が時間制約のないことを示す状態５−２のときは、通常モードに設定してもよい。これにより、情報処理システムは、アクセス競合の発生中で、かつリアルタイム制約があるときに限りオーバークロックに設定するため、最低限の消費電力増で済ませることができる。
【００８５】  また、情報処理システムは、状態５−１を示す場合、ＤＭＡコントローラを高密度転送に設定し、状態５−２を示す場合、ＤＭＡコントローラを低密度転送に設定してもよい。これにより、情報処理システムは、状態５−１のときに、リアルタイム制約があるため効率のよいデータ転送が行え、リアルタイム制約を順守することができる。また、情報処理システムは、状態５−２のときに、低密度転送を行うことで、ＰＩＯ転送が行いやすくなるため、アクセス競合を解消することができる。
【００８６】  また、本実施の形態で説明したバスコントローラ１０８は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述したバスコントローラ１０８の機能（キャッシュミス検出部１１９〜生成部１２３）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、バスコントローラ１０８を製造することができる。
【００８７】  上述した実施の形態に関し、さらに以下の付記を開示する。
【００８８】（付記１）バスに接続されるＣＰＵと、  バスに接続されるデバイスと、  前記ＣＰＵまたは前記デバイスにアクセスされるメモリと、  消費電力モードを設定するパワーモード制御回路と、  を含み、  前記パワーモード制御回路は、前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報と前記デバイスの活性化状態若しくは非活性化状態を示す第２情報とに基づいて、前記消費電力モードを設定すること  を特徴とする情報処理システム。
【００８９】（付記２）前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が非活性化状態を示すときに、低消費電力モードを設定すること  を特徴とする付記１に記載の情報処理システム。
【００９０】（付記３）前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が活性化状態を示すときに、通常モードを設定すること  を特徴とする付記１または付記２に記載の情報処理システム。
【００９１】（付記４）前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が非活性化状態を示すときに、通常モードを設定すること  を特徴とする付記１乃至付記３の何れか一の付記に記載の情報処理システム。
【００９２】（付記５）前記パワーモード制御回路は、  前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が活性化状態を示すとき、前記バスのアクセス競合状態若しくは非競合状態を示す第３情報に基づいて、前記消費電力モードを設定すること  を特徴とする付記１乃至付記４の何れか一の付記に記載の情報処理システム。
【００９３】（付記６）前記パワーモード制御回路は、  前記第３情報が前記バスのアクセス非競合状態を示すときは通常モードに設定し、前記第３情報が前記バスのアクセス競合状態を示すときはオーバークロックモードに設定すること  を特徴とする付記１乃至付記５の何れか一の付記に記載の情報処理システム。
【００９４】（付記７）前記デバイスはＤＭＡコントローラを含み、ＤＭＡ転送モードが設定されること  を特徴とする付記３または付記５に記載の情報処理システム。
【００９５】（付記８）前記パワーモード制御回路は、  前記第３情報が前記バスのアクセス競合状態を示すとき、前記ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報に基づいて、前記消費電力モードを設定すること  を特徴とする付記５に記載の情報処理システム。
【００９６】（付記９）前記パワーモード制御回路は、  前記第４情報が時間制約のあることを示すときはオーバークロックモードに設定し、前記第４情報が時間制約のないことを示すときは通常モードに設定すること  を特徴とする付記８に記載の情報処理システム。
【００９７】（付記１０）前記デバイスはＤＭＡコントローラを含み、前記第４情報が時間制約のあることを示すときは前記ＤＭＡコントローラの転送単位が前記バスのバス幅に設定され、前記第４情報が時間制約のないことを示すときは前記転送単位が前記バスのバス幅より小さい値に設定されること  を特徴とする付記８に記載の情報処理システム。
【００９８】（付記１１）バスに接続されるＣＰＵと、  バスに接続されるデバイスと、  前記バスを介して前記ＣＰＵおよび前記デバイスの接続されるメモリと、  前記バスのアクセスを監視するバスコントローラと、  前記バスコントローラからの設定信号に基づいて消費電力モードを設定するパワーモード制御回路と、  を含み、  前記バスコントローラは、  前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報を検出する第１回路と、  前記デバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する第２回路と  を含むことを特徴とする情報処理システム。
【００９９】（付記１２）前記バスコントローラは、前記ＣＰＵが前記メモリに連続アクセスを行うか否かの第３情報を検出する第３回路を含むこと  を特徴とする付記１１に記載の情報処理システム。
【０１００】（付記１３）前記バスコントローラは、前記ＣＰＵが実行する処理に時間制約があるか否かを示す第４情報を記憶する第４回路を含むこと  を特徴とする付記１１に記載の情報処理システム。
【０１０１】（付記１４）前記第１回路から出力される第１情報と前記第２回路から出力される第２情報とに基づいて前記設定信号を生成する第５回路を含むこと  を特徴とする付記１１または付記１２に記載の情報処理システム。
【０１０２】（付記１５）前記第１回路は、前記ＣＰＵ内のステータスレジスタの出力に基づいて前記第１情報を検出し、  前記第２回路は、前記デバイス内の制御レジスタの出力に基づいて前記第２情報を検出すること  を特徴とする付記１１乃至付記１４の何れか一の付記に記載の情報処理システム。
【０１０３】（付記１６）前記第３回路は、前記メモリを制御するメモリコントローラ内のステータスレジスタの出力に基づいて前記第３情報を検出すること  を特徴とする付記１２に記載の情報処理システム。
【符号の説明】
【０１０４】  １００  情報処理システム  １０１、１０２  ＣＰＵ  １０３、１０４  ＤＭＡコントローラ  １０５  メモリコントローラ  １０６  共用リソース  １０７  ＰＭＵ  １０８  バスコントローラ  １０９  バス  １１０、１１２、１１６  ステータスレジスタ  １１１、１１３  キャッシュメモリ  １１４、１１５、１１７  制御レジスタ  １１８  設定部  １１９  キャッシュミス検出部  １２０  高速Ｉ／Ｏ検出部  １２１  アクセス競合検出部  １２２  設定レジスタ  １２３  生成部
【手続補正書】
【提出日】平成25年12月16日(2013.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスに接続されるＣＰＵと、
前記バスに接続されるデバイスと、
前記ＣＰＵまたは前記デバイスにアクセスされるメモリと、
消費電力モードを設定するパワーモード制御回路と、
を含み、
前記パワーモード制御回路は、前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報が前記キャッシュメモリのキャッシュミスを示し、かつ、前記デバイスの活性化状態若しくは非活性化状態を示す第２情報が前記デバイスの活性化状態を示し、かつ、前記バスのアクセス競合状態若しくはアクセス非競合状態を示す第３情報がバスのアクセス競合状態を示すときに、前記ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報に基づいて、前記消費電力モードを設定すること
を特徴とする情報処理システム。
【請求項２】
前記パワーモード制御回路は、
前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が非活性化状態を示すときに、低消費電力モードを設定すること
を特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記パワーモード制御回路は、
前記第１情報がキャッシュメモリのキャッシュヒットを示すとともに前記第２情報が活性化状態を示すときに、通常モードを設定すること
を特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記第１情報がキャッシュメモリのキャッシュミスを示すとともに前記第２情報が非活性化状態を示すときに、通常モードを設定すること
を特徴とする請求項１乃至請求項３の何れか一の請求項に記載の情報処理システム。
【請求項５】
前記パワーモード制御回路は、
前記第３情報が前記バスのアクセス非競合状態を示すときは通常モードに設定し、前記第３情報が前記バスのアクセス競合状態を示すときはオーバークロックモードに設定すること
を特徴とする請求項１乃至請求項４の何れか一の請求項に記載の情報処理システム。
【請求項６】
前記デバイスはＤＭＡコントローラを含み、ＤＭＡ転送モードが設定されること
を特徴とする請求項３に記載の情報処理システム。
【請求項７】
前記パワーモード制御回路は、
前記第４情報に基づいて、前記ＤＭＡ転送モードとして、前記ＤＭＡコントローラの転送単位を、前記バスのバス幅、または、前記バスのバス幅より小さい値に設定すること
を特徴とする請求項６に記載の情報処理システム。
【請求項８】
バスに接続されるＣＰＵと、
前記バスに接続されるデバイスと、
前記バスを介して前記ＣＰＵおよび前記デバイスに接続されるメモリと、
前記バスのアクセスを監視するバスコントローラと、
前記バスコントローラからの設定信号に基づいて消費電力モードを設定するパワーモード制御回路と、
を含み、
前記バスコントローラは、
前記ＣＰＵ内のキャッシュメモリのキャッシュヒット若しくはキャッシュミスを示す第１情報を検出する第１回路と、
前記デバイスの活性化状態若しくは非活性化状態を示す第２情報を検出する第２回路と、
前記ＣＰＵが前記メモリに連続アクセスを行うか否かを示す第３情報を検出する第３回路と、
前記ＣＰＵで実行する処理に時間制約があるか否かを示す第４情報を記憶する第４回路と
を含み、
前記第１情報が前記キャッシュメモリのキャッシュミスを示し、かつ、前記第２情報が前記デバイスの活性化状態を示し、かつ、前記第３情報が連続アクセスを行うことを示すときに、前記第４情報に基づいて、前記設定信号を生成する
ことを特徴とする情報処理システム。
【請求項９】
前記第１回路から出力される第１情報と前記第２回路から出力される第２情報とに基づいて前記設定信号を生成する第５回路を含むこと
を特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記第１回路は、前記ＣＰＵ内のステータスレジスタの出力に基づいて前記第１情報を検出し、
前記第２回路は、前記デバイス内の制御レジスタの出力に基づいて前記第２情報を検出すること
を特徴とする請求項８または請求項９に記載の情報処理システム。
【請求項１１】
前記第３回路は、前記メモリを制御するメモリコントローラ内のステータスレジスタの出力に基づいて前記第３情報を検出すること
を特徴とする請求項８乃至請求項１０の何れか一の請求項に記載の情報処理システム。
【国際調査報告】
2012066621.tif 000011
2012066621.tif 000012
2012066621.tif 000013
2012066621.tif 000014