(57)【要約】【課題】本発明は動的バスクロックを制御するための装置及び方法に関する。【解決手段】本発明による動作バスクロックを制御するための装置は、少なくとも一つのマスターモジュールと、少なくとも一つのスレーブモジュールと、前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュールが送受信するデータを媒介するバスと、前記少なくとも一つのマスターモジュールの動作情報（Ａｃｔｉｖｉｔｙ）を考慮してバスクロックの周波数を決定するバス周波数制御機と、前記バス周波数制御機で決定した周波数を発生させて生成したクロックを前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュール及び前記バスに提供するクロック発生器と、を含む。【選択図】図２
2011101372.tif 000002
【特許請求の範囲】
【請求項１】
動的バスクロックを制御するための方法において、
少なくとも一つのマスターモジュールに対する動作情報を確認する過程と、
前記少なくとも一つのマスターモジュールに対する動作情報の合計を算出する過程と、
前記少なくとも一つのマスターモジュールに対する動作情報の合計を考慮してバスクロックの周波数を決定する過程と、を含むことを特徴とする方法。
【請求項２】
前記動作情報を確認する過程は、
各々のマスターモジュールで読み出しチャネルバスと書き込みチャネルバスのうち少なくとも一つのバスを使用するための信号が発生するかを確認する過程を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記バスクロックの周波数を決定する過程は、
前記少なくとも一つのマスターモジュールに対する動作情報の合計が低い基準値より小さい場合、前記バスクロックの周波数を下げる過程と、
前記少なくとも一つのマスターモジュールに対する動作情報の合計が高い基準値より大きい場合、前記バスクロックの周波数を上げる過程と、
前記少なくとも一つのマスターモジュールに対する動作情報の合計が前記低い基準値より大きく、前記高い基準値より小さい場合、前記バスクロックの周波数を変更しない過程と、を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記少なくとも一つのマスターモジュールに対する動作情報を確認した後、各々のマスターモジュールの動作情報に加重値を適用する過程をさらに含み、
前記動作情報の合計を算出する過程は、
加重値が適用された各々のマスターモジュールに対する動作情報の合計を算出する過程を含むことを特徴とする請求項１に記載の方法。
【請求項５】
動的バスクロックを制御するための方法において、
バスを使用するマスターモジュールが存在するかを確認する過程と、
基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数を下げる過程と、
基準時間内にバスを使用する少なくとも一つのマスターモジュールが存在する場合、バスクロックの周波数を上げる過程と、を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記動作情報を確認する過程は、
各々のマスターモジュールで読み出しチャネルバスと書き込みチャネルバスのうち少なくとも一つのバスを使用するための信号が発生するかを確認する過程を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記バスクロックの周波数を下げる過程は、
基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数をシステムでサポート可能な最小周波数に変更する過程を含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記バスクロックの周波数を下げる過程は、
基準時間の間バスを使用するマスターモジュールが存在しない場合、既設定された少なくとも一つのバスクロックの周波数調節ステップによってバスクロックの周波数を一段階下げる過程を含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記バスクロックの周波数を一段階下げた後、第２基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数をシステムでサポート可能な最小周波数に変更する過程をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記バスクロックの周波数を上げる過程は、
基準時間内にバスを使用する少なくとも一つのマスターモジュールが存在する場合、バスクロックの周波数をシステムがサポート可能な最大周波数に変更する過程を含むことを特徴とする請求項５に記載の方法。
【請求項１１】
動的バスクロックを制御するための装置において、
少なくとも一つのマスターモジュールと、
少なくとも一つのスレーブモジュールと、
前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュールが送受信するデータを媒介するバスと、
前記少なくとも一つのマスターモジュールの動作情報を考慮してバスクロックの周波数を決定するバス周波数制御機と、
前記バス周波数制御機で決定した周波数を発生させて生成したクロックを前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュール及び前記バスに提供するクロック発生器と、を含んで構成されることを特徴とする装置。
【請求項１２】
前記バス周波数制御機は、
各々のマスターモジュールに対する動作情報を確認する少なくとも一つのチャネル確認部と、
前記少なくとも一つのマスターモジュールの動作情報に対する合計を算出する加算器と、
前記少なくとも一つのマスターモジュールの動作情報に対する合計と少なくとも一つの基準値を比較してバスクロックの周波数を決定する比較器と、を含んで構成されることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記チャネル確認部は、各々のマスターモジュールで読み出しチャネルバスと書き込みチャネルバスのうち少なくとも一つのバスを使用するための信号が発生するかを確認することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記比較器は、前記少なくとも一つのマスターモジュールの動作情報に対する合計が低い基準値より小さい場合、前記バスクロックの周波数を下げ、
前記少なくとも一つのマスターモジュールの動作情報に対する合計が高い基準値より大きい場合、前記バスクロックの周波数を上げ、
前記少なくとも一つのマスターモジュールの動作情報に対する合計が前記低い基準値より大きく前記高い基準値より小さい場合、前記バスクロックの周波数を変更しないことを特徴とする請求項１２に記載の装置。
【請求項１５】
前記少なくとも一つのチャネル確認部で確認した各々のマスターモジュールの動作情報に加重値を適用する加重値制御部をさらに含み、
前記比較器は、前記加重値制御部で加重値が適用された各々のマスターモジュールの動作情報に対する合計を算出し、
前記比較器は、前記加重値が適用された各々のマスターモジュールの動作情報に対する合計と少なくとも一つの基準値を比較してバスクロックの周波数を決定する比較器を含んで構成されることを特徴とする請求項１２に記載の装置。
【請求項１６】
動的バスクロックを制御するための装置において、
少なくとも一つのマスターモジュールと、
少なくとも一つのスレーブモジュールと、
前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュールが送受信するデータを媒介するバスと、
前記バスを使用するマスターモジュールの存在有無を考慮してバスクロックの周波数を決定するバス周波数制御機と、
前記バス周波数制御機で決定した周波数を発生させて生成したクロックを前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュール及び前記バスに提供するクロック発生器と、を含んで構成されることを特徴とする装置。
【請求項１７】
前記バス周波数制御機は、
バスを使用するマスターモジュールが存在するかを確認するチャネル確認部と、
基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数を下げ、基準時間内にバスを使用する少なくとも一つのマスターモジュールが存在する場合、バスクロックの周波数を上げる比較器と、を含んで構成されることを特徴とする請求項１６に記載の装置。
【請求項１８】
前記チャネル確認部は、各々のマスターモジュールで読み出しチャネルバスと書き込みチャネルバスのうち少なくとも一つのバスを使用するための信号が発生するかを確認することを特徴とする請求項１７に記載の装置。
【請求項１９】
前記比較器は、基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数をシステムでサポート可能な最小周波数に変更することを特徴とする請求項１７に記載の装置。
【請求項２０】
前記比較器は、基準時間の間バスを使用するマスターモジュールが存在しない場合、既設定された少なくとも一つのバスクロックの周波数調節ステップによってバスクロックの周波数を一段階下げることを特徴とする請求項１７に記載の装置。
【請求項２１】
前記比較器は、前記バスクロックの周波数を一段階下げた後、第２基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数をシステムでサポート可能な最小周波数に変更することを特徴とする請求項２０に記載の装置。
【請求項２２】
前記比較器は、基準時間内にバスを使用するマスターモジュールが存在する場合、バスクロックの周波数をシステムでサポート可能な最大周波数に変更することを特徴とする請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的バスクロックを制御するための装置及び方法に関し、特に、オン−チップバス（Ｏｎ−Ｃｈｉｐ  Ｂｕｓ）の使用頻度を考慮してデジタルシステムのバスクロック周波数を制御するための装置及び方法に関する。
【背景技術】
【０００２】
同期式（Ｓｙｎｃｈｒｏｎｏｕｓ）デジタルシステムは図１に示すようにバスを中心に少なくとも一つのマスターモジュール（Ｍａｓｔｅｒ  Ｍｏｄｕｌｅ）と少なくとも一つのスレーブモジュール（Ｓｌａｖｅ  Ｍｏｄｕｌｅ）がデータを送受信する。
【０００３】
図１は、従来技術によるデジタルシステムのバス構成を示している。
【０００４】
図１に示すように少なくとも一つのマスターモジュール１００−１、１００−２、…、１００−ｎはバス１２０を介して少なくとも一つのスレーブモジュール１１０−１、１１０−２、…、１１０−ｍとデータを送受信する。この時、前記マスターモジュール１００−１、１００−２、…、１００−ｎとスレーブモジュール１１０−１、１１０−２、…、１１０−ｍ及びバス１２０はクロック発生器１３０で生成した固定されたバスクロックＢＵＳ_ＣＬＫを使用する。前記クロック発生器１３０はデジタルシステムの最大性能を満たすための最大周波数を生成する。
【０００５】
デジタルシステムは電力消費を低減するために動的電圧及び周波数制御（ＤＶＦＳ：Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  ａｎｄ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ）技術を使用する。
【０００６】
ＤＶＦＳ技術を使用する場合、デジタルシステムはメインプロセッサ（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の動作情報（Ａｃｔｉｖｉｔｙ）を測定してＣＰＵ又は前記デジタルシステムの全体の周波数を変更する。
【０００７】
しかし、前記ＤＶＦＳ技術はＣＰＵの動作情報のみを測定して前記ＣＰＵの電圧と周波数を調節する。これにより、デジタルシステムはＤＶＦＳ技術によってＣＰＵの周波数を変更することによってＣＰＵの電力のみを減少させるという限界を持つ 。
【０００８】
前記ＤＶＦＳ技術を用いてデジタルシステムの全体の周波数を変更する場合、ＣＰＵ以外の独自のバスの帯域幅を要求するマスターモジュールが存在する場合、ＣＰＵ中心のＤＶＦＳ技術によってデジタルシステムの性能が低下する問題が発生し得る。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】韓国特許出願公開第１０−２００２−００５０３７４号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、本発明の目的は、デジタルシステムでバスクロックの周波数を変更してシステムの電力消耗を低減するための装置及び方法を提供することにある。
【００１１】
本発明の他の目的は、デジタルシステムでオン−チップバス（Ｏｎ−Ｃｈｉｐ  ＢｕＳ）の使用頻度を考慮してバスクロックの周波数を変更するための装置及び方法を提供することにある。
【００１２】
本発明のさらに他の目的は、デジタルシステムでオン−チップバスの使用頻度を考慮してバスクロックの周波数を段階的に変更するための装置及び方法を提供することにある。
【００１３】
本発明のさらに他の目的は、デジタルシステムでマスターモジュールによるオン−チップバスの使用頻度を考慮してバスクロックの周波数を変更するための装置及び方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の目的を達成するための本発明の第１見地によれば、動的バスクロックを制御するための方法は、少なくとも一つのマスターモジュールに対する動作情報（Ａｃｔｉｖｉｔｙ）を確認する過程と、前記少なくとも一つのマスターモジュールに対する動作情報の合計を算出する過程と、前記少なくとも一つのマスターモジュールに対する動作情報の合計を考慮してバスクロックの周波数を決定する過程と、を含むことを特徴とする。
【００１５】
本発明の第２見地によれば、動的バスクロックを制御するための方法は、バスを使用するマスターモジュールが存在するかを確認する過程と、基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数を下げる過程と、基準時間内にバスを使用する少なくとも一つのマスターモジュールが存在する場合、バスクロックの周波数を上げる過程と、を含むことを特徴とする。
【００１６】
本発明の第３見地によれば、動的バスクロックを制御するための装置は、少なくとも一つのマスターモジュールと、少なくとも一つのスレーブモジュールと、前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュールが送受信するデータを媒介するバスと、前記少なくとも一つのマスターモジュールの動作情報（Ａｃｔｉｖｉｔｙ）を考慮してバスクロックの周波数を決定するバス周波数制御機と、前記バス周波数制御機で決定した周波数を発生させて生成したクロックを前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュール及び前記バスに提供するクロック発生器と、を含んで構成されることを特徴とする。
【００１７】
本発明の第４見地によれば、動的バスクロックを制御するための装置は、少なくとも一つのマスターモジュールと、少なくとも一つのスレーブモジュールと、前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュールが送受信するデータを媒介するバスと、前記バスを使用するマスターモジュールの存在有無を考慮してバスクロックの周波数を決定するバス周波数制御機と、前記バス周波数制御機で決定した周波数を発生させて生成したクロックを前記少なくとも一つのマスターモジュールと前記少なくとも一つのスレーブモジュール及び前記バスに提供するクロック発生器と、を含んで構成されることを特徴とする。
【図面の簡単な説明】
【００１８】
【図１】従来の技術によるデジタルシステムのバス構成を示す図である。
【図２】本発明によるデジタルシステムのバス構成を示す図である。
【図３】本発明の実施例によるバスＡＦＳ制御機の構成を示す図である。
【図４】本発明の実施例によるバスクロックの周波数を制御するための手順を示す図である。
【図５】本発明の他の実施例によるバスＡＦＳ制御機の構成を示す図である。
【図６】本発明の他の実施例によるバスクロックの周波数を制御するための手順を示す図である。
【図７】本発明のさらに他の実施例によるバスクロック周波数を制御するための手順を示す図である。
【図８】本発明の実施例によるデジタルシステムの周波数変更グラフを示す図である。
【図９】本発明のさらに他の実施例によるバスクロック周波数を制御するための手順を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の好ましい実施例を添付した図面に基づき詳細に説明する。なお、本発明を説明するにあたって、関連した公知機能又は構成に対する具体的な説明が本発明の要旨を不必要に曖昧にする可能性があると判断した場合、その詳細な説明は省略する。また、後述する用語は本発明での機能を考慮して定義された用語であり、これは使用者、運用者の意図又は慣例などによって異なることがある。したがって、その定義は本明細書全般に亘る内容をもとに決めるべきである。
【００２０】
以下、本発明によるオン−チップバス（Ｏｎ−ＣｈｉＰ  ＢｕＳ）の使用頻度を考慮してデジタルシステムのバスクロックの周波数を変更するための技術を説明する。
【００２１】
図２は、本発明によるデジタルシステムのバス構成を示している。
【００２２】
図２に示すように少なくとも一つのマスターモジュール２００−１、２００−２、…、２００−ｎはバス２２０を介して少なくとも一つのスレーブモジュール２１０−１、２１０−２、…、２１０−ｍとデータを送受信する。この時、前記マスターモジュール２００−１、２００−２、…、２００−ｎとバス２２０及びスレーブモジュール２１０−１、２１０−２、…、２１０−ｍはクロック発生器２４０で生成したバスクロックＢＵＳ_ＣＬＫを使用して動作する。
【００２３】
前記クロック発生器２４０はバスＡＦＳ（Ａｄａｐｔｉｖｅ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ）制御機２３０の制御によって前記マスターモジュール２００−１、２００−２、…、２００−ｎとスレーブモジュール２１０−１、２１０−２、…、２１０−ｍ及びバス２２０を動作させるためのバスクロックを発生させる。
【００２４】
前記バスＡＦＳ制御機２３０は前記マスターモジュール２００−１、２００−２、…、２００−ｎの前記バス２２０の使用有無によってバスクロックを発生させるように前記クロック発生器２４０を制御する。例えば、前記バスＡＦＳ制御機２３０は各々のマスターモジュール２００−１、２００−２、…、２００−ｎのＲＶＡＬＩＤ信号とＲＲＥＡＤＹ信号によって該当マスターモジュール２００−１、２００−２、…、２００−ｎの読み出しチャネル（ｒｅａｄ  ｃｈａｎｎｅｌ）に対する使用有無を判断する。また、前記バスＡＦＳ制御機２３０は各々のマスターモジュール２００−１、２００−２、…、２００−ｎのＷＶＡＬＩＤ信号とＷＲＥＡＤＹ信号によって該当マスターモジュール２００−１、２００−２、…、２００−ｎの書き込みチャネル（wｒｉｔｅｃｈａｎｎｅｌ）に対する使用有無を判断する。
【００２５】
前記バスＡＦＳ制御機２３０は下記図３に示すように構成される。
【００２６】
図３は、本発明の実施例によるバスＡＦＳ制御機の構成を示している。
【００２７】
図３に示すように前記バスＡＦＳ制御機２３０はチャネル確認部３００−１、…、３００−ｎ、カウンター３１０−１、…、３１０−ｎ、加重値制御部３２０、加算器（Ａｄｄｅｒ）３３０、比較器（Ｃｏｍｐａｒａｔｏｒ）３４０及び保存部３５０を含んで構成される。
【００２８】
前記チャネル確認部３００−１、…、３００−ｎは各々のマスターモジュール２００−１、２００−２、…、２００−ｎに対するバスの使用有無を確認する。例えば、前記チャネル確認部Ａ３００−１はマスターモジュールＡ２００−１の読み出しチャネルバスと書き込みチャネルバスの使用有無を確認する。例えば、前記チャネル確認部Ａ３００−１はマスターモジュールＡ２００−１のＲＶＡＬＩＤ信号とＲＲＥＡＤＹ信号によって読み出しチャネルバスの使用有無を確認する。また、前記チャネル確認部Ａ３００−１はマスターモジュールＡ２００−１のＷＶＡＬＩＤ信号とＷＲＥＡＤＹ信号によって書き込みチャネルバスの使用有無を確認する。この時、前記チャネル確認部Ａ３００−１はマスターモジュールＡ２００−１から受信したＲＶＡＬＩＤ信号とＲＲＥＡＤＹ信号をＡＮＤ演算３６０−１_１し、ＷＶＡＬＩＤ信号とＷＲＥＡＤＹ信号をＡＮＤ演算３６０−１_２する。この後、前記チャネル確認部Ａ３００−１は前記読み出しチャネルのＡＮＤ演算３６０−１_１と書き込みチャネルのＡＮＤ演算３６０−１_２）に対するＯＲ演算３７０−１を行ってマスターモジュールＡ２００−１の読み出しチャネルと書き込みチャネルの使用有無を確認する。この時、前記チャネル確認部Ａ３００−１はＯＲ演算３７０−１の結果をカウンターＡ３１０−１の「ｅｎ」ピンまで伝送する。
【００２９】
前記カウンター３１０−１、…、３１０−ｎは各々のチャネル確認部３００−１、…、３００−ｎから提供された各々のマスターモジュール２００−１、２００−２、…、２００−ｎに対するバス使用情報に応じて該当マスターモジュールの動作情報を確認する。例えば、前記カウンター３１０−１、…、３１０−ｎは各々のマスターモジュール２００−１、２００−２、…、２００−ｎがバスを使用する場合にのみカウントする。
【００３０】
前記カウンター３１０−１、…、３１０−ｎは所定時間の間累積した各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報を前記加重値制御部３２０に伝送する。例えば、前記カウンター３１０−１、…、３１０−ｎは所定時間累積された各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報を多重ビット（Ｍｕｌｔｉ−ｂｉｔ）の形態に構成して前記加重値制御部３２０に伝送する。
【００３１】
前記加重値制御部３２０は各々のカウンター３１０−１、…、３１０−ｎから提供された各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に互いに異なる加重値を適用する。例えば、前記加重値制御部３２０が少なくても一つのシフター（ｓｈｉｆｔｅｒ）で構成される場合、各々のシフターは該当マスターモジュールの加重値の分だけ該当マスターモジュールのバス使用量をシフティング（ｓｈｉｆｔｉｎｇ）する。
【００３２】
前記加算器３３０は前記加重値制御部３２０から提供された加重値が適用された各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計を算出する。
【００３３】
前記比較器３４０は前記加算器３３０から提供された各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計とバスクロックを変更するための基準値を比較して前記クロック発生器２４０で発生させるバスクロックの周波数を決定する。例えば、前記比較器３４０は前記保存部３５０からバスクロックを変更するための基準値情報を獲得する。この後、前記比較器３４０は前記比較器３４０から提供された各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計と前記基準値情報を比較する。もし、前記各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計が基準値１より小さい場合、前記比較器３４０は前記クロック発生器２４０で発生させるバスクロックの周波数を下げるように制御する。一方、前記各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計が基準値２より大きい場合、前記比較器３４０は前記クロック発生器２４０で発生させるバスクロックの周波数を上げるように制御する。この時、前記比較器３４０は前記クロック発生器２４０で最大バスクロックを発生させている場合、前記バスクロックを維持するように制御する。また、各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計が基準値１より大きく基準値２より小さい場合、前記比較器３４０は前記クロック発生器２４０で発生させるバスクロックを維持するように制御する。ここで、前記基準値１はバスクロックの周波数を下げるための低い基準値を表し、前記基準値２はバスクロックの周波数を上げるための高い基準値を表す。
【００３４】
前記保存部３５０は前記比較器３４０でバスクロックを変更するための基準値を保存する。また、前記保存部３５０は前記加重値制御部３２０で各々のマスターモジュール２００−１、２００−２、…、２００−ｎに適用した加重値情報を含む。
【００３５】
上述した実施例で前記比較器３４０は前記加算器３３０で合算した各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計とバスクロックを変更するための基準値を比較する。
【００３６】
他の実施例で前記加算器３３０は各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計を比率（Ｒａｔｉｏ）算出器に伝送する。前記比率算出器は前記各々のマスターモジュール２００−１、２００−２、…、２００−ｎの動作情報に対する合計を考慮して前記マスターモジュール２００−１、２００−２、…、２００−ｎの動作時間比率を算出する。この時、前記比較器３４０は前記比率算出器で算出したマスターモジュール２００−１、２００−２、…、２００−ｎの動作時間比率と基準値を比較して前記クロック発生器２４０で発生させるバスクロックの周波数を決定することもできる。
【００３７】
上述のように前記バスＡＦＳ制御機２３０が構成される場合、前記バスＡＦＳ制御機２３０は下記図４に示すようにバスクロックの周波数を制御する。
【００３８】
図４は本発明の実施例によるバスクロックの周波数を制御するための手順を示している。
【００３９】
図４に示すようにバスＡＦＳ制御機２３０は４０１ステップで各々のマスターモジュールに対するカウンターを初期化する。例えば、前記バスＡＦＳ制御機２３０は前記図３で前記カウンター３１０−１、…、３１０−ｎを初期化する。
【００４０】
各々のマスターモジュールに対するカウンターを初期化した後、前記バスＡＦＳ制御機２３０は４０３ステップに進行して各々のマスターモジュールに対するカウンターを用いて各々のマスターモジュールに対する動作情報（Ａｃｔｉｖｉｔｙ）を確認する。例えば、前記図３に示す前記カウンター３１０−１、…、３１０−ｎは各々のマスターモジュール２００−１、２００−２、…、２００−ｎがバスを使用する場合にのみカウントする。
【００４１】
この後、前記バスＡＦＳ制御機２３０は４０５ステップに進行して各々のマスターモジュールの動作情報に加重値を適用する。この時、前記バスＡＦＳ制御機２３０は各々のマスターモジュールの動作情報に互いに異なる加重値を適用する。
【００４２】
各々のマスターモジュールの動作情報に加重値を適用した後、前記バスＡＦＳ制御機２３０は４０７ステップに進行して加重値が適用された各々のマスターモジュールの動作情報に対する合計を算出する。
【００４３】
この後、前記バスＡＦＳ制御機２３０は４０９ステップに進行してマスターモジュールのバス使用頻度を表す各々のマスターモジュールの動作情報に対する合計を考慮してバスクロックの周波数を下げるか否かを確認する。例えば、前記バスＡＦＳ制御機２３０は前記４０７ステップで算出したマスターモジュールの動作情報に対する合計と基準値１を比較する。ここで、前記基準値１はバスクロックの周波数を下げるための低い基準値を表す。
【００４４】
前記算出したマスターモジュールの動作情報に対する合計が前記基準値１より小さいか同じ場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が低いと認識する。これにより、前記バスＡＦＳ制御機２３０は４１１ステップに進行してバスクロックの周波数を下げる。例えば、前記バスＡＦＳ制御機２３０はバスクロックの周波数が最小化されるように制御する。
【００４５】
一方、前記算出したマスターモジュールの動作情報に対する合計が前記基準値１より高い場合、前記バスＡＦＳ制御機２３０は４１３ステップに進行して各々のマスターモジュールの動作情報に対する合計を考慮してバスクロックの周波数を上げるか否かを確認する。例えば、前記バスＡＦＳ制御機２３０は前記マスターモジュールの動作情報に対する合計と基準値２を比較する。ここで、前記基準値２はバスクロックの周波数を上げるための高い基準値を表す。
【００４６】
前記各々のマスターモジュールの動作情報に対する合計が前記基準値２より小さい場合、前記バスＡＦＳ制御機２３０は現在のバスクロックがマスターモジュールのバス使用頻度に適したものであると認識する。これにより、前記バスＡＦＳ制御機２３０は４１５ステップに進行してバスクロックの周波数を維持するように制御する。
【００４７】
一方、前記各々のマスターモジュールの動作情報に対する合計が前記基準値２より大きいか同じ場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が高いと認識する。これにより、前記バスＡＦＳ制御機２３０は４１７ステップに進行してバスクロックの周波数を上げることができるかを確認する。すなわち、前記バスＡＦＳ制御機２３０は現在使用中のバスクロックの周波数とデジタルシステムがサポート可能な最大周波数が同じであるかを確認する。
【００４８】
バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が同じ場合、前記バスＡＦＳ制御機２３０は前記４１５ステップに進行してバスクロックの周波数を維持するように制御する。
【００４９】
一方、バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が異なる場合、前記バスＡＦＳ制御機２３０は４１９ステップに進行してバスクロックの周波数を上げる。例えば、前記バスＡＦＳ制御機２３０はバスクロックの周波数が最大になるように制御する。
【００５０】
この後、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。
【００５１】
上述した実施例でバスＡＦＳ制御機２３０は各々のマスターモジュールの動作情報に加重値を適用してマスターモジュールのバス使用頻度を確認する。
【００５２】
他の実施例でバスＡＦＳ制御機２３０は図５に示すようにマスターモジュールを区分せずにバス使用頻度を確認することができる。
【００５３】
図５は本発明の他の実施例によるバスＡＦＳ制御機の構成を示している。
【００５４】
図５に示すように前記バスＡＦＳ制御機２３０はチャネル確認部５００、カウンター５１０、比較器（Ｃｏｍｐａｒａｔｏｒ）５２０及び保存部５３０を含んで構成される。
【００５５】
前記チャネル確認部５００は前記マスターモジュール２００−１、２００−２、…、２００−ｎがバスを使用しているかを確認する。すなわち、前記チャネル確認部５００は前記マスターモジュール２００−１、２００−２、…、２００−ｎの読み出しチャネルバスと書き込みチャネルバスの使用有無を確認する。例えば、前記チャネル確認部５００は各々のマスターモジュール２００−１、２００−２、…、２００−ｎから提供されたＡＲＶＡＬＩＤ信号とＡＷＶＡＬＩＤ信号に対するＯＲ演算５４０−１を行う。この後、前記チャネル確認部５００は各々のマスターモジュール２００−１、２００−２、…、２００−ｎに対するＯＲ演算５４０−１、５４０−２、５４０−ｎの結果に対するＯＲ演算５５０を行って前記マスターモジュール２００−１、２００−２、…、２００−ｎがバスを使用しているかを確認する。以下の説明で前記各々のマスターモジュール２００−１、２００−２、…、２００−ｎのＯＲ演算５４０−１、５４０−２、５４０−ｎの結果に対するＯＲ演算５５０をＡＶＡＬＩＤ_ＯＲと称する。
【００５６】
この時、前記チャネル確認部５００はいずれか一つのマスターモジュールでバスを要求する場合、「Ｈｉｇｈ」に設定されたＡＶＡＬＩＤ_ＯＲを前記カウンター５１０に伝送する。一方、前記チャネル確認部５００はバスを使用するマスターモジュールが存在しない場合、「Ｌｏｗ」に設定されたＡＶＡＬＩＤ_ＯＲを前記カウンター５１０に伝送する。
【００５７】
前記カウンター５１０は前記チャネル確認部５００から提供されたＡＶＡＬＩＤ_ＯＲによって駆動される。例えば、前記カウンター５１０は前記ＡＶＡＬＩＤ_ＯＲが「Ｈｉｇｈ」の場合リセットされる。これにより、前記カウンター５０１は前記ＡＶＡＬＩＤ_ＯＲが「Ｈｉｇｈ」の場合、前記比較器５２０にカウント値を伝送しない。一方、前記ＡＶＡＬＩＤ_ＯＲが「Ｌｏｗ」の場合、前記カウンター５１０はカウント値を前記比較器５２０に伝送する。
【００５８】
前記比較器５２０は前記カウンター５１０から提供されたカウント値に応じて前記クロック発生器２４０で発生させるバスクロックの周波数を決定する。例えば、前記比較器５２０は前記保存部５３０からバスクロックの周波数を下げるための基準時間情報を獲得する。この後、前記比較器５２０は前記基準時間の間前記カウンター５１０から持続的にカウント値の提供を受けた場合、バスを使用するマスターモジュールが存在しないと認識する。これにより、前記比較器５２０はバスクロックの周波数を下げるように制御する。この時、前記カウンター５１０は前記比較器５２０の出力信号によってリセットされる。他の例として、前記比較器５２０は「Ｈｉｇｈ」であるＡＶＡＬＩＤ_ＯＲによって前記カウンター５１０がリセットされる場合、バスクロックの周波数を上げるように制御する。
【００５９】
前記保存部５３０は前記比較器５２０でバスクロックを変更するための基準時間情報を保存する。
【００６０】
上述した実施例で前記バスＡＦＳ制御機２３０は基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数を下げるように制御する。
【００６１】
他の実施例で前記ＡＦＳ制御機２３０は基準時間の間カウンター５１０のカウント値が発生した比率を考慮してバスクロックの周波数を決定することもできる。
【００６２】
上述のように前記バスＡＦＳ制御機２３０が構成される場合、前記バスＡＦＳ制御機２３０は下記図６に示すようにバスクロックの周波数を制御する。
【００６３】
図６は、本発明の他の実施例によるバスクロックの周波数を制御するための手順を示している。
【００６４】
図６に示すように前記バスＡＦＳ制御機２３０は６０１ステップでカウンターを初期化する。例えば、前記バスＡＦＳ制御機２３０は前記図５で前記カウンター５１０を初期化する。
【００６５】
この後、前記バスＡＦＳ制御機２３０は６０３ステップに進行してバスを使用するマスターモジュールが存在するかを確認する。例えば、前記バスＡＦＳ制御機２３０は少なくとも一つのマスターモジュールでＡＲＶＡＬＩＤ信号又はＡＷＶＡＬＩＤ信号が発生しているかを確認する。
【００６６】
前記６０３ステップでバスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０は６０５ステップに進行して基準時間に到達しているかを確認する。すなわち、前記バスＡＦＳ制御機２３０は前記６０１ステップで初期化したカウンターが前記基準時間の間持続的に駆動されるかを確認する。
【００６７】
基準時間に到達していない場合、前記バスＡＦＳ制御機２３０は前記６０３ステップに進行してバスを使用するマスターモジュールが発生しているかを再度確認する。
【００６８】
一方、基準時間に到達した場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が低いと認識する。これにより、前記バスＡＦＳ制御機２３０は６０７ステップに進行してバスクロックの周波数が最小化されるように制御する。
【００６９】
前記６０３ステップでバスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が高いと認識する。これにより、前記バスＡＦＳ制御機２３０は６０９ステップに進行してバスクロックの周波数を上げることができるかを確認する。すなわち、前記バスＡＦＳ制御機２３０は現在使用中のバスクロックの周波数とデジタルシステムでサポート可能な最大周波数が同じであるかを確認する。図示していないが、前記バスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０は前記６０１ステップで初期化したカウンターをリセットする。
【００７０】
バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が同じ場合、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。この時、前記バスＡＦＳ制御機２３０はバスクロックの周波数を維持するように制御する。
【００７１】
一方、バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が異なる場合、前記バスＡＦＳ制御機２３０は６１１ステップに進行してバスクロックの周波数が最大になるように制御する。
【００７２】
この後、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。
【００７３】
上述した実施例でバスＡＦＳ制御機２３０はマスターモジュールのバス使用有無に応じてバスクロックの周波数を最大又は最小に変更するように制御する。
【００７４】
他の実施例でバスＡＦＳ制御機２３０はマスターモジュールのバス使用有無に応じてバスクロックの周波数を段階的に変更するように制御することもできる。
【００７５】
図７は本発明のさらに他の実施例によるバスクロックの周波数を制御するための手順を示している。
【００７６】
図７に示すように前記バスＡＦＳ制御機２３０は７０１ステップでカウンターａを初期化する。例えば、前記バスＡＦＳ制御機２３０は前記図５で前記カウンター５１０を初期化する。
【００７７】
この後、前記バスＡＦＳ制御機２３０は７０３ステップに進行してバスを使用するマスターモジュールが存在するかを確認する。例えば、前記バスＡＦＳ制御機２３０は少なくとも一つのマスターモジュールでＡＲＶＡＬＩＤ信号又はＡＷＶＡＬＩＤ信号が発生するかを確認する。
【００７８】
バスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が高いと認識する。これにより、前記バスＡＦＳ制御機２３０は７０５ステップに進行してバスクロックの周波数を上げることができるかを確認する。すなわち、前記バスＡＦＳ制御機２３０は現在使用中のバスクロックの周波数とデジタルシステムでサポート可能な最大周波数が同じであるかを確認する。図示していないが、前記バスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０は前記７０１ステップで初期化したカウンターをリセットする。
【００７９】
バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が同じ場合、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。この時、前記バスＡＦＳ制御機２３０はバスクロックの周波数を維持するように制御する。
【００８０】
一方、バスクロックの周波数とデジタルシステムでサポート可能な最大周波数が異なる場合、前記バスＡＦＳ制御機２３０は７０７ステップに進行してバスクロックの周波数が最大になるように制御する。
【００８１】
前記７０３ステップでバスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０は７０９ステップに進行して基準時間に到達しているかを確認する。すなわち、前記バスＡＦＳ制御機２３０は前記７０１ステップで初期化したカウンターが前記基準時間の間持続的に駆動されるかを確認する。
【００８２】
基準時間が到達していない場合、前記バスＡＦＳ制御機２３０は前記７０３ステップに進行してバスを使用するマスターモジュールが発生するかを再度確認する。
【００８３】
一方、基準時間に到達した場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が低いと認識する。これにより、前記バスＡＦＳ制御機２３０は７１１ステップに進行してバスクロックの周波数が一段階低くなるように制御する。
【００８４】
この時、前記バスＡＦＳ制御機２０３は７１３ステップに進行してカウンターｂを初期化する。ここで、前記カウンターｂはバスクロックの周波数をさらに一段階下げるための第２基準時間を測定するために使用される。
【００８５】
この後、前記バスＡＦＳ制御機２３０は７１５ステップに進行してバスを使用するマスターモジュールが存在するかを確認する。例えば、前記バスＡＦＳ制御機２３０は少なくとも一つのマスターモジュールでＡＲＶＡＬＩＤ信号又はＡＷＶＡＬＩＤ信号が発生するかを確認する。
【００８６】
バスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０は前記７０７ステップに進行してバスクロックの周波数が最大になるように制御する。
【００８７】
一方、バスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０は７１７ステップに進行して第２基準時間に到達しているかを確認する。すなわち、前記バスＡＦＳ制御機２３０は前記７１３ステップで初期化したカウンターｂが前記第２基準時間の間持続的に駆動されるかを確認する。
【００８８】
第２基準時間に到達していない場合、前記バスＡＦＳ制御機２３０は前記７１５ステップに進行してバスを使用するマスターモジュールが発生するかを再度確認する。
【００８９】
一方、第２基準時間に到達した場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が低いと認識する。これにより、前記バスＡＦＳ制御機２３０は７１９ステップに進行してバスクロックの周波数が最小化されるように制御する。
【００９０】
この後、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。
【００９１】
上述のようにバスクロックの周波数を段階的に下げる場合、前記バスＡＦＳ制御機２３０は図８に示すようにバスクロックの周波数を制御できる。
【００９２】
図８は、本発明の実施例によるデジタルシステムの周波数変更グラフを示している。
【００９３】
図８に示すように第１基準時間Ｔｉｍｅｏｕｔ１の間バスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０はＡ１時点８００にバスクロックの周波数を一段階下げる。
【００９４】
Ａ２時点８１０にバスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０はバスクロックの周波数を最大まで上げる。
【００９５】
前記Ａ２時点８１０から第１基準時間の間バスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０はＡ３時点８２０にバスクロックの周波数を一段階下げる。ここで、前記第１基準時間は前記Ａ２時点８１０からＡ３時点８２０までの時間区間と同じである。
【００９６】
この後、Ａ３時点８２０からＡ４時点８３０までバスを使用するマスターモジュールが存在しない場合、前記バスＡＦＳ制御機２３０はＡ４時点８３０でバスクロックの周波数が最小化されるように下げる。
【００９７】
Ａ５時点８４０にバスを使用するマスターモジュールが存在する場合、前記バスＡＦＳ制御機２３０はバスクロックの周波数を最大まで上げる。
【００９８】
上述した実施例で前記バスＡＦＳ制御機２３０は二つのカウンターを用いて二段階でバスクロックの周波数を下げる。
【００９９】
他の実施例で前記バスＡＦＳ制御機２３０は一つのカウンターを用いて基準時間の間カウンターがリセットされることなく駆動される場合、段階的にバスクロックの周波数を下げることもできる。
【０１００】
図６及び図７のバスＡＦＳ制御機２３０は基準時間の間バスを使用するマスターモジュールが存在しない場合、バスクロックの周波数を下げる。
【０１０１】
他の実施例でバスＡＦＳ制御機２３０は下記図９に示すように基準時間の間マスターモジュールのバス使用頻度に応じてバスクロックの周波数を下げることもできる。
【０１０２】
図９は本発明のさらに他の実施例によるバスクロック周波数を制御するための手順を示している。
【０１０３】
図９に示すように前記バスＡＦＳ制御機２３０は９０１ステップでカウンターを初期化する。例えば、前記バスＡＦＳ制御機２３０は前記図５で前記カウンター５１０を初期化する。
【０１０４】
カウンターを初期化した後、前記バスＡＦＳ制御機２３０は９０３ステップに進行してマスターモジュールのバス使用有無を確認する。例えば、前記バスＡＦＳ制御機２３０はマスターモジュールでＡＲＶＡＬＩＤ信号又はＡＷＶＡＬＩＤ信号が発生する場合、前記マスターモジュールがバスを使用していると認識する。
【０１０５】
この後、前記バスＡＦＳ制御機２３０は９０５ステップに進行して基準時間に到達しているかを確認する。
【０１０６】
基準時間が到達していない場合、前記バスＡＦＳ制御機２３０は前記９０３ステップに進行してマスターモジュールのバス使用有無を確認する。
【０１０７】
一方、基準時間に到達した場合、前記バスＡＦＳ制御機２３０は９０７ステップに進行して基準時間の間マスターモジュールがバスを使用したバス使用量を確認する。例えば、前記９０１ステップで初期化したカウンターはマスターモジュールがバスを使用しない場合にのみカウントされる。これにより、前記バスＡＦＳ制御機２３０は基準時間の間前記カウンターのカウント値を考慮して基準時間の間マスターモジュールのバス使用量を確認する。
【０１０８】
この後、前記バスＡＦＳ制御機２３０は９０９ステップに進行して前記９０７ステップで確認したマスターモジュールのバス使用量を考慮してバスクロックの周波数を下げるかを確認する。例えば、前記バスＡＦＳ制御機２３０は前記９０７ステップで確認したバス使用量と基準値１を比較する。ここで、前記基準値１はバスクロックの周波数を下げるための低い基準値を表す。
【０１０９】
前記マスターモジュールのバス使用量が前記基準値１より小さいか同じ場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が低いと認識する。これにより、前記バスＡＦＳ制御機２３０は９１１ステップに進行してバスクロックの周波数を下げる。例えば、前記バスＡＦＳ制御機２３０はバスクロックの周波数が最小化されるように制御する。他の例として、前記バスＡＦＳ制御機２３０は予め決められたバスクロック変更周波数ステップによってバスクロックの周波数を一段階下げるように制御する。
【０１１０】
一方、前記マスターモジュールのバス使用量が前記基準値１より高い場合、前記バスＡＦＳ制御機２３０は９１３ステップに進行して前記確認したマスターモジュールのバス使用量を考慮してバスクロックの周波数を上げるか否かを確認する。例えば、前記バスＡＦＳ制御機２３０は前記マスターモジュールのバス使用量と基準値２を比較する。ここで、前記基準値２はバスクロックの周波数を上げるための高い基準値を表す。
【０１１１】
前記マスターモジュールのバス使用量が前記基準値２より小さい場合、前記バスＡＦＳ制御機２３０は現在使用中のバスクロックがマスターモジュールのバス使用頻度に適したものであると認識する。これにより、前記バスＡＦＳ制御機２３０は９１５ステップに進行してバスクロックの周波数を維持するように制御する。
【０１１２】
一方、前記マスターモジュールのバス使用量が前記基準値２より大きいか同じ場合、前記バスＡＦＳ制御機２３０はマスターモジュールのバス使用頻度が高いと認識する。これにより、前記バスＡＦＳ制御機２３０は９１７ステップに進行してバスクロックの周波数を上げることができるかを確認する。すなわち、前記バスＡＦＳ制御機２３０は現在使用するバスクロックの周波数とデジタルシステムがサポート可能な最大周波数が同じであるかを確認する。
【０１１３】
バスクロックの周波数とデジタルシステムがサポート可能な最大周波数が同じ場合、前記バスＡＦＳ制御機２３０は前記９１５ステップに進行してバスクロックの周波数を維持するように制御する。
【０１１４】
一方、バスクロックの周波数とデジタルシステムがサポート可能な最大周波数が異なる場合、前記バスＡＦＳ制御機２３０は９１９ステップに進行してバスクロックの周波数を上げる。例えば、前記バスＡＦＳ制御機２３０はバスクロックの周波数が最大になるように制御する。
【０１１５】
この後、前記バスＡＦＳ制御機２３０は本アルゴリズムを終了する。
【０１１６】
上述のようにオン−チップバス（Ｏｎ−Ｃｈｉｐ  Ｂｕｓ）の使用頻度を考慮してデジタルシステムのバスクロックの周波数を変更することによって、バスクロックを使用するモジュールの電力消耗を低減することができる利点がある。
【０１１７】
一方、本発明の詳細な説明では具体的な実施例について説明したが、本発明の範囲から逸脱しない限度内で様々な変形が可能である。したがって、本発明の範囲は説明された実施例に局限して決めるべきではなく、後述する特許請求の範囲のみならず以下の特許請求の範囲と均等なものによって決められるべきである。
【符号の説明】
【０１１８】
２００−１、２００−２、…、２００−ｎ  マスターモジュール
２１０−１、２１０−２、…、２１０−ｍ  スレーブモジュール
２２０  バス
２３０  バスＡＦＳ制御機
２４０  クロック発生器
【図１】
2011101372.tif 000003
【図２】
2011101372.tif 000004
【図３】
2011101372.tif 000005
【図４】
2011101372.tif 000006
【図５】
2011101372.tif 000007
【図６】
2011101372.tif 000008
【図７】
2011101372.tif 000009
【図８】
2011101372.tif 000010
【図９】
2011101372.tif 000011