(57)【特許請求の範囲】
【請求項１】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持部と、
前記実行結果が前記保持部に保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成部と
を具備し、
前記タイミング判断部は、前記立上りに同期して出力された前記データ信号に対応する前記実行結果が前記立下りに同期して前記保持部に保持されるまでの猶予期間である立下り猶予期間と前記立下りに同期して出力された前記データ信号に対応する前記実行結果が前記立上りに同期して前記保持部に保持されるまでの猶予期間である立上り猶予期間との各々が前記セットアップタイムを満たすか否かを判断し、
前記クロック制御部は、
前記立下り猶予期間または前記立上り猶予期間が前記セットアップタイムを満たさないと判断された場合には前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するタイミング制御部と、
前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たさないと判断された場合には前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たすように前記クロック信号の周期を長くするクロック周期制御部とを備える
情報処理装置。
【請求項２】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持部と、
前記実行結果が前記保持部に保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成部と
を具備し、
前記クロック制御部は、前記猶予期間が前記セットアップタイムを満たすまで前記一方のタイミングを早くする制御と前記猶予期間が前記セットアップタイムを満たすまで前記他方のタイミングを遅らせる制御との少なくとも一方を実行する
情報処理装置。
【請求項３】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持部と、
前記実行結果が前記保持部に保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成部と、
前記処理部により出力された前記実行結果を遅延させて前記保持部へ出力する遅延部とを具備し、
前記タイミング判断部は、前記遅延部により遅延された実行結果が前記保持部に保持されるまでの期間を前記猶予期間として当該猶予期間が前記保持部のセットアップタイムを満たすか否かを判断する
情報処理装置。
【請求項４】
前記遅延部により遅延された実行結果から当該実行結果のエラーを検出するためのエラー検出符号を生成するエラー検出符号生成部をさらに具備し、
前記タイミング判断部は、前記エラー検出符号を使用することにより前記遅延された実行結果のエラーを検出した場合には前記猶予期間について前記セットアップタイムを満たさないと判断する
請求項３記載の情報処理装置。
【請求項５】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持部と、
前記実行結果が前記保持部に保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には所定電圧昇圧した前記電圧を前記電源供給部に供給させる電圧制御部と
を具備し、
前記処理部は、電源供給部から供給された電圧に応じた実行時間で前記データ信号に対して前記所定の処理を実行する
情報処理装置。
【請求項６】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理手順と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持部に保持する保持手順と、
前記保持部に前記実行結果が保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断手順と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御手順と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成手順と
を具備し、
前記クロック制御手順において、前記猶予期間が前記セットアップタイムを満たすまで前記一方のタイミングを早くする制御と前記猶予期間が前記セットアップタイムを満たすまで前記他方のタイミングを遅らせる制御との少なくとも一方を実行する
情報処理装置の制御方法。
【請求項７】
クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理手順と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持部に保持する保持手順と、
前記保持部に前記実行結果が保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断手順と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御手順と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成手順と
前記処理手順により出力された前記実行結果を遅延させて前記保持部へ出力する遅延手順とを具備し、
前記タイミング判断手順において、前記遅延手順により遅延された実行結果が前記保持部に保持されるまでの期間を前記猶予期間として当該猶予期間が前記保持部のセットアップタイムを満たすか否かを判断する
情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、および、その制御方法に関する。詳しくは、クロック信号に同期して動作する情報処理装置、および、その制御方法に関する。
【背景技術】
【０００２】
クロック信号に同期して動作する回路では、そのクロック信号に同期してデータ信号を保持するとともに出力するレジスタなどの記憶素子と、その出力されたデータ信号に対して論理演算などの処理を実行する組合せ論理回路による処理回路とが設けられる。このような回路においては、処理回路からの実行結果の出力のタイミングをクロック信号に同期させる場合に、その出力のタイミングを調整するためのリタイミング回路がさらに設けられることがある。例えば、入力された信号をクロック信号に同期して保持するとともに出力するフリップフロップを備えるリタイミング回路が提案されている（特許文献１参照。）。
【０００３】
このようなリタイミング回路では、処理回路へデータ信号が出力されるタイミング（例えば、立上がりのタイミング）と異なるタイミング（例えば、立下りのタイミング）で、そのデータ信号に対する処理の実行結果を保持する場合がある。処理回路へのデータ信号の出力のタイミングに対して、実行結果を保持するタイミングを遅らせることにより、実行結果が確実に保持され、リタイミング回路におけるタイミングエラーの発生が抑制される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９０７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来技術では、タイミングエラーの発生を抑制することができないおそれがある。例えば、処理回路の電圧の低下などの原因により、処理回路における実行時間が長くなることがある。実行時間が長くなると、実行結果の出力が後れて、その実行結果がリタイミング回路に保持されるまでの猶予期間がリタイミング回路のセットアップタイムに満たなくなるおそれがある。ここで、セットアップタイムは、リタイミング回路などに対してデータの取り込みが指示されるタイミングに先立って、出力側の回路（処理回路など）が予めデータ信号を出力し続けるべき時間である。猶予期間がセットアップタイムを満たさない場合には、リタイミング回路が実行結果の保持に失敗し、タイミングエラーが生じてしまうことになる。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、クロック信号に同期して動作する回路において、タイミングエラーの発生を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、上記立上りおよび上記立下りのうちの他方のタイミングに同期して上記実行結果を保持する保持部と、上記実行結果が上記保持部に保持されるまでの猶予期間が上記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、上記猶予期間がセットアップタイムを満たさないと判断された場合には上記猶予期間が上記セットアップタイムを満たすように上記立上りおよび上記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、上記制御されたタイミングに従って上記クロック信号を生成するクロック生成部とを具備する情報処理装置、および、その制御方法である。これにより、猶予期間がセットアップタイムを満たすように、立上りおよび立下りのうちの少なくとも一方のタイミングが制御されるという作用をもたらす。
【０００８】
また、この第１の側面において、上記判断部は、上記立上りに同期して出力された上記データ信号に対応する上記実行結果が上記立下りに同期して上記保持部に保持されるまでの猶予期間である立下り猶予期間と上記立下りに同期して出力された上記データ信号に対応する上記実行結果が上記立上りに同期して上記保持部に保持されるまでの猶予期間である立上り猶予期間との各々が上記セットアップタイムを満たすか否かを判断し、上記クロック制御部は、上記立下り猶予期間または上記立上り猶予期間が上記セットアップタイムを満たさないと判断された場合には上記立下り猶予期間および上記立上り猶予期間がいずれも上記セットアップタイムを満たすように上記立上りおよび上記立下りのうちの少なくとも一方のタイミングを制御するタイミング制御部と、上記立下り猶予期間および上記立上り猶予期間がいずれも上記セットアップタイムを満たさないと判断された場合には上記立下り猶予期間および上記立上り猶予期間がいずれも上記セットアップタイムを満たすように上記クロック信号の周期を長くするクロック周期制御部とを備えてもよい。これにより、立下り猶予期間および上記立上り猶予期間がいずれも上記セットアップタイムを満たすように上記クロック信号の周期が長くなるという作用をもたらす。
【０００９】
また、この第１の側面において、上記クロック制御部は、上記猶予期間が上記セットアップタイムを満たすまで上記一方のタイミングを早くする制御と上記猶予期間が上記セットアップタイムを満たすまで上記他方のタイミングを遅らせる制御との少なくとも一方を実行してもよい。これにより、猶予期間がセットアップタイムを満たすまで一方のタイミングを早くする制御と猶予期間がセットアップタイムを満たすまで他方のタイミングを遅くする制御とのうちの少なくとも一方が実行されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記処理部により出力された上記実行結果を遅延させて上記保持部へ出力する遅延部をさらに具備し、上記タイミング判断部は、上記遅延部により遅延された実行結果が上記保持部に保持されるまでの期間を上記猶予期間として当該猶予期間が上記保持部のセットアップタイムを満たすか否かを判断してもよい。これにより、遅延された実行結果が保持部に保持されるまでの猶予期間が保持部のセットアップタイムを満たすか否かが判断されるという作用をもたらす。
【００１１】
また、この第１の側面において、上記遅延部により遅延された実行結果から当該実行結果のエラーを検出するためのエラー検出符号を生成するエラー検出符号生成部をさらに具備し、上記タイミング判断部は、上記エラー検出符号を使用することにより上記遅延された実行結果のエラーを検出した場合には上記猶予期間について上記セットアップタイムを満たさないと判断してもよい。これにより、エラー検出符号を使用することにより実行結果のエラーが検出された場合に猶予期間がセットアップタイムを満たさないと判断されるという作用をもたらす。
【００１２】
また、この第１の側面において、上記処理部は、電源供給部から供給された電圧に応じた実行時間で上記データ信号に対して上記所定の処理を実行し、上記猶予期間がセットアップタイムを満たさないと判断された場合には所定電圧昇圧した上記電圧を上記電源供給部に供給させる電圧制御部とをさらに具備してもよい。これにより、猶予期間がセットアップタイムを満たさない場合に所定電圧昇圧した電圧が保持部に供給されるという作用をもたらす。
【発明の効果】
【００１３】
本技術によれば、クロック信号に同期して動作する回路において、タイミングエラーの発生が抑制されるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態における情報処理装置の一構成例を示す全体図である。
【図２】第１の実施の形態における情報処理装置の一構成例を示すブロック図である。
【図３】第１の実施の形態におけるパリティ生成部の一構成例を示すブロック図である。
【図４】第１の実施の形態におけるパリティ検査部の一構成例を示すブロック図である。
【図５】第１の実施の形態におけるマスタプロセッサの一構成例を示すブロック図である。
【図６】第１の実施の形態におけるクロック制御部の動作の一例を示す表である。
【図７】第１の実施の形態におけるクロック生成部２００の一構成例を示すブロック図である。
【図８】第１の実施の形態におけるクロック生成回路の動作の一例を示す表である。
【図９】第１の実施の形態におけるクロック生成部の動作を示すタイミングチャートである。
【図１０】第１の実施の形態におけるエラー未検出時の情報処理装置の動作を示すタイミングチャートである。
【図１１】第１の実施の形態におけるＰＮエラー検出時の情報処理装置の動作を示すタイミングチャートである。
【図１２】第１の実施の形態におけるＰＮエラー低減時の情報処理装置の動作を示すタイミングチャートである。
【図１３】第１の実施の形態におけるＮＰエラー検出時の情報処理装置の動作を示すタイミングチャートである。
【図１４】第１の実施の形態におけるＮＰエラー低減時の情報処理装置の動作を示すタイミングチャートである。
【図１５】第１の実施の形態におけるＰＮエラーおよびＮＰエラー低減時の情報処理装置の動作を示すタイミングチャートである。
【図１６】第１の実施の形態におけるクロック制御部の動作の一例を示すフローチャートである。
【図１７】第２の実施の形態におけるマスタプロセッサの一構成例を示すブロック図である。
【図１８】第２の実施の形態における電圧制御部の動作の一例を示す表である。
【図１９】第３の実施の形態における情報処理装置の一構成例を示すブロック図である。
【図２０】第３の実施の形態におけるパリティ生成部の一構成例を示すブロック図である。
【図２１】第３の実施の形態におけるパリティ検査部の一構成例を示すブロック図である。
【図２２】第３の実施の形態におけるマスタプロセッサの一構成例を示すブロック図である。
【図２３】第３の実施の形態におけるクロック制御部の動作の一例を示す表である。
【発明を実施するための形態】
【００１５】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（エラーの発生頻度が高い場合にエッジタイミングを制御する例）
２．第２の実施の形態（エラーの発生頻度が高い場合にエッジタイミングおよび電圧を制御する例）
３．第３の実施の形態（猶予期間を短くした状態におけるエラーの発生頻度が高い場合にエッジタイミングを制御する例）
【００１６】
＜１．第１の実施の形態＞
［情報処理装置の構成例］
図１は、実施の形態における情報処理装置１００の一構成例を示す全体図である。情報処理装置１００は、様々な情報処理を実行する装置であり、クロック生成部２００およびマスタプロセッサ６００を備える。また、情報処理装置１００は、複数段のパイプラインレジスタと、パリティ検査部５２０および５５０とを備える。これらのパイプラインレジスタのうちの１段目のパイプラインレジスタ３１０は処理対象のデータを供給し、２段目以降の複数段（例えば、１６段）のパイプラインレジスタ３２０は、パイプライン処理における所定のステージの実行結果を保持する。これらのパイプラインレジスタ３１０および３２０は、例えば、クロック信号の立上りに同期して動作する。立上りに同期して動作するパイプラインレジスタ（３１０および３２０）の各段の間には、タイミングを調整するために、例えば、クロック信号の立下りに同期して動作するパイプラインレジスタ３３０が挿入される。パイプラインレジスタ３２０を１６段とした場合、パイプラインレジスタ３３０も１６段挿入される。
【００１７】
クロック生成部２００は、マスタプロセッサ６００により制御されるクロック周期ｐＣＫ、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦに従って、基準クロック信号ｂＣＬＫからクロック信号ＣＬＫを生成するものである。このクロック生成部２００は、基準クロック信号ｂＣＬＫの周波数を分周し、その分周した信号をクロック信号ＣＬＫとして出力する。分周における分周比は、クロック周期ｐＣＫに対応する周波数（ｆＬ）と基準クロック信号ｂＣＬＫの周波数（ｆＨ）との比率（ｆＬ／ｆＨ）である。また、クロック生成部２００は、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦに従って、クロック信号ＣＬＫのエッジタイミングを調整する。クロック生成部２００は、分周した信号をクロック信号ＣＬＫとしてパイプラインレジスタ（３１０、３２０および３３０など）と、マスタプロセッサ６００とに出力する。また、クロック生成部２００は、リセット信号ＲＳＴが入力された場合には、クロック信号ＣＬＫの生成および出力を停止する。
【００１８】
パイプラインレジスタ３１０は、クロック信号ＣＬＫの立上りに同期して処理対象のデータを保持するとともにパイプラインレジスタ３２０に出力するものである。パイプラインレジスタ３１０が保持するデータは、例えば、１６ビットのデータを含む。
【００１９】
パイプラインレジスタ３２０および３３０は、クロック信号ＣＬＫに同期してパイプライン処理における所定のステージの実行結果を保持するとともに出力するものである。また、パイプラインレジスタ３２０および３３０は、実行結果に加えて、その実行結果のエラーを検出するためのパリティビットを保持する。パイプラインレジスタ３２０および３３０に保持される実行結果は、例えば、１６ビットのデータを含む。パイプラインレジスタ３２０は、クロック信号ＣＬＫの立上りに同期して動作し、偶数段目に配置される。パイプラインレジスタ３３０は、クロック信号ＣＬＫの立下りに同期して動作し、奇数段目に配置される。これらのパイプラインレジスタ３２０等の間には、パリティビットを生成するパリティ生成部と、所定の演算を実行する演算器とが挿入されており、これらは、図１において省略されている。これらのパリティ生成部および演算器の構成の詳細については後述する。
【００２０】
パリティ検査部５２０は、偶数段目のパイプラインレジスタ３２０に保持されたパリティビットを使用してパイプラインレジスタ３２０に保持されたデータにおけるエラーを検出するものである。パリティ検査部５２０は、その検出結果をマスタプロセッサ６００へ出力する。偶数段目のパイプラインレジスタ３２０の各々に、パリティ検査部５２０が設けられており、これらのパリティ検査部５２０は、パリティエラーの検出結果をエラー情報Ｅ_ＰＮ１乃至１６としてマスタプロセッサ６００へ出力する。
【００２１】
パリティ検査部５５０は、奇数段目のパイプラインレジスタ３３０に保持されたパリティビットを使用してパイプラインレジスタ３３０に保持されたデータにおけるエラーを検出するものである。パリティ検査部５５０は、その検出結果をマスタプロセッサ６００へ出力する。奇数段目のパイプラインレジスタ３３０の各々に、パリティ検査部５５０が設けられており、これらのパリティ検査部５５０は、パリティエラーの検出結果をエラー情報Ｅ_ＮＰ１乃至１６としてマスタプロセッサ６００へ出力する。
【００２２】
マスタプロセッサ６００は、エラーの検出結果に基づいてクロック周期ｐＣＫ、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦを制御するものである。制御内容の詳細については後述する。
【００２３】
図２は、実施の形態における情報処理装置１００の一構成例を示すブロック図である。図２に示すように、情報処理装置１００には、パリティ生成部５１０および５４０と、演算器４１０、４２０および４３０とが設けられている。
【００２４】
１段目のパイプラインレジスタ３１０は、クロック信号ＣＬＫの立上りに同期してデータを保持するとともに信号線３１９を介して演算器４１０へ出力する。
【００２５】
偶数段目のパイプラインレジスタ３２０は、クロック信号ＣＬＫの立下りに同期して実行結果およびパリティビットを保持するとともに出力する。パイプラインレジスタ３２０は、例えば、１６ビットのデータを含む実行結果と、４ビットのパリティビットとを保持する。パイプラインレジスタ３２０は、信号線３２８を介して演算器４２０およびパリティ検査部５２０へデータを出力し、信号線３２９を介してパリティ検査部５２０へパリティビットを出力する。
【００２６】
３段目以降の奇数段目のパイプラインレジスタ３３０は、クロック信号ＣＬＫの立上りに同期して実行結果およびパリティビットを保持するとともに出力する。パイプラインレジスタ３３０は、例えば、１６ビットのデータを含む実行結果と、４ビットのパリティビットとを保持する。パイプラインレジスタ３３０は、信号線３３８を介して演算器４３０およびパリティ検査部５５０へデータを出力し、信号線３３９を介してパリティ検査部５５０へパリティビットを出力する。なお、パイプラインレジスタ３２０および３３０は、特許請求の範囲における保持部の一例である。
【００２７】
演算器４１０は、１段目のパイプラインレジスタ３１０が出力したデータに対して所定の演算を実行するものである。演算器４１０は、演算の実行結果をパリティ生成部５１０およびパイプラインレジスタ３２０に信号線４１９を介して出力する。この実行結果は、例えば、１６ビットのデータを含む。演算器４２０は、偶数段目のパイプラインレジスタ３２０が出力したデータに対して所定の演算を実行するものであり、演算器４３０は、３段目以降の奇数段目のパイプラインレジスタ３３０が出力したデータに対して所定の演算を実行するものである。なお、演算器４１０、４２０および４３０は、特許請求の範囲における処理部の一例である。
【００２８】
パリティ生成部５１０は、演算器４１０が出力した実行結果からパリティビットを生成する。パリティ生成部５１０は、例えば、１６ビットのデータを構成する４つの４ビットのビット列のそれぞれに対してＸＯＲ（排他的論理和）演算を実行することにより、４ビットのパリティビットを生成する。パリティ生成部５１０は、生成したパリティビットをパイプラインレジスタ３２０に信号線５１９を介して出力する。パリティ生成部５１０以外のパリティ生成部の構成は、パリティ生成部５１０と同様である。
【００２９】
パリティ検査部５２０は、パイプラインレジスタ３２０に保持されたパリティビットを使用してパイプラインレジスタ３２０に保持されたデータにおけるエラーを検出する。パリティ検査部５２０は、例えば、１６ビットのデータを構成する４つの４ビットのビット列それぞれに対してＸＯＲ演算を実行することにより、４ビットのパリティビットを生成する。そして、パリティ検査部５２０は、生成したパリティビットとパイプラインレジスタ３２０に保持されたパリティビットとを比較し、比較結果の各々のＯＲ（論理和）演算の結果を示す１ビットの情報をエラーの検出結果として生成する。パリティ検査部５２０は、その検出結果をマスタプロセッサ６００へ信号線５３９を介して出力する。
【００３０】
ここで、パリティ検査部５２０により検出されたエラーは、演算器４１０からの実行結果がパイプラインレジスタ３２０に保持されるまでの猶予期間が、パイプラインレジスタ３２０のセットアップタイムに満たない場合に検出される。言い換えれば、このエラーは、立上りエッジ（Positive edge）に同期して出力されたデータ信号に対する演算の実行結果が、立下りエッジ（Negative edge）のタイミングで保持されなかった場合に検出される。このようなエラーを以下、「ＰＮエラー」と称する。１６個のパリティ検査部５２０は、検出結果としてＰＮエラー情報Ｅ_ＰＮ１乃至Ｅ_ＰＮ１６を出力する。
【００３１】
パリティ検査部５５０は、パイプラインレジスタ３３０に保持されたパリティビットを使用してパイプラインレジスタ３３０に保持されたデータにおけるエラーを検出するものである。パリティ検査部５５０の構成は、パリティ検査部５２０の構成と同様である。パリティ検査部５５０は、エラーの検出結果をマスタプロセッサ６００へ信号線５５９を介して出力する。
【００３２】
ここで、パリティ検査部５５０により検出されたエラーは、演算器４２０からの実行結果がパイプラインレジスタ３３０に保持されるまでの猶予期間が、パイプラインレジスタ３３０のセットアップタイムに満たない場合に検出される。言い換えれば、このエラーは、立下りエッジ（Negative edge）に同期して出力されたデータ信号に対する演算の実行結果が、立上りエッジ（Positive edge）のタイミングで保持されなかった場合に検出される。このようなエラーを以下、「ＮＰエラー」と称する。１６個のパリティ検査部５５０は、検出結果としてＮＰエラー情報Ｅ_ＮＰ１乃至Ｅ_ＮＰ１６を出力する。なお、パリティ検査部５２０および５５０は、特許請求の範囲におけるタイミング判断部の一例である。
【００３３】
マスタプロセッサ６００は、ＰＮエラーまたはＮＰエラーが検出された（すなわち、猶予期間がセットアップタイムに満たない）場合に、猶予期間がセットアップタイムを満たすようにエッジタイミングを制御する。
【００３４】
具体的には、ＰＮエラーが検出された場合には、マスタプロセッサ６００は、立上りエッジタイミングｔＲを早くする制御と立下りエッジタイミングｔＦを遅くする制御とのうちの少なくとも一方を実行する。この制御により、クロック信号ＣＬＫのデューティ比が高くなる。この結果、立上りに同期して出力されたデータ信号に対する演算の実行結果が、立下りのタイミングで保持されるまでの猶予期間が長くなり、セットアップタイムが満たされるようになる。したがって、ＰＮエラーの発生頻度が低減する。
【００３５】
一方、ＮＰエラーが検出された場合には、マスタプロセッサ６００は、立上りエッジタイミングｔＲを遅くする制御と立下りエッジタイミングｔＦを早くする制御とのうちの少なくとも一方を実行する。この制御により、クロック信号ＣＬＫのデューティ比が低くなる。この結果、立下りに同期して出力されたデータ信号に対する演算の実行結果が、立上りのタイミングで保持されるまでの猶予期間が長くなり、セットアップタイムが満たされるようになる。したがって、ＮＰエラーの発生頻度が低減する。
【００３６】
ここで、ＰＮエラーおよびＮＰエラーの両方が検出された場合には、エッジタイミングの制御では、ＰＮエラーおよびＮＰエラーの両方の発生頻度をいずれも低減させることは困難である。これは、ＰＮエラーの発生頻度を低減するにはデューティ比が高くなる制御を行う必要があるのに対し、ＮＰエラーの発生頻度を低減するにはデューティ比が低くなる制御を行う必要があるためである。そこで、ＰＮエラーおよびＮＰエラーの両方が検出された場合には、マスタプロセッサ６００は、クロック周期ｐＣＫを長くする制御を実行する。クロック周期ｐＣＫを長くすることにより、実行結果が立下りに同期して保持されるまでの猶予期間と実行結果が立上りに同期して保持されるまでの猶予期間との両方が長くなる。この結果、両方の猶予期間がいずれもセットアップタイムを満たすようになり、ＰＮエラーおよびＮＰエラーの発生頻度が低減する。
【００３７】
なお、マスタプロセッサ６００は、特許請求の範囲に記載のクロック制御部の一例である。また、情報処理装置１００は、パリティ検査を行っているが、猶予期間がセットアップに満たないか否かを判断することができるのであれば、パリティ検査以外の処理を実行することもできる。例えば、情報処理装置１００は、猶予期間がセットアップに満たないか否かを判断するために、チェックサムやハッシュ関数などを使用してエラーを検出する処理を実行してもよい。
【００３８】
[パリティ生成部の構成例]
図３は、第１の実施の形態におけるパリティ生成部５１０の一構成例を示すブロック図である。このパリティ生成部５１０は、ＸＯＲゲート５１１乃至５１４を備える。
【００３９】
ＸＯＲゲート５１１乃至５１４は、入力値の排他的論理和を出力するものである。演算器４１０から出力される１６ビットのデータは、それぞれが４ビットのビット列からなる４つのグループに分けられる。ＸＯＲゲート５１１乃至５１４には、それぞれ異なるグループに属するビット列が入力される。ＸＯＲゲート５１１乃至５１４は、入力されたビット列の排他的論理和をパリティビットとしてパイプラインレジスタ３２０へ出力する。
【００４０】
[パリティ検査部の構成例]
図４は、第１の実施の形態におけるパリティ検査部５２０の一構成例を示すブロック図である。このパリティ検査部５２０は、ＸＯＲゲート５２１乃至５２８とＯＲゲート５２９を備える。
【００４１】
ＸＯＲゲート５２１乃至５２８は、入力値の排他的論理和を出力するものである。ＸＯＲゲート５２１乃至５２４には、それぞれ異なるグループに属する４ビットのビット列が入力される。ＸＯＲゲート５２１乃至５２４は、入力値の排他的論理和を、それぞれ、ＸＯＲゲート５２５乃至５２８へ出力する。これらの排他的論理和は、それぞれ、対応するグループに属する４ビットのうちの「１」のビットが偶数個である場合に「０」となるｅｖｅｎパリティビットである。
【００４２】
ＸＯＲゲート５２５乃至５２８には、それぞれ、ＸＯＲゲート５２１乃至５２４からの互いに異なるパリティビットと、パイプラインレジスタ３２０からのパリティビットとが１つずつ入力される。ＸＯＲゲート５２５乃至５２８は、これらの入力値の排他的論理和をエラー情報としてＯＲゲート５２９へ出力する。これらのエラー情報は、それぞれ、対応するグループに属するビット列にパリティエラーが検出された場合に「１」となり、検出されない場合に「０」となる１ビットの情報である。
【００４３】
ＯＲゲート５２９は、入力値の論理和を出力するものである。このＯＲゲート５２９は、ＸＯＲゲート５２５乃至５２８からのエラー情報の論理和をＰＮエラー情報Ｅ_ＰＮ１としてマスタプロセッサ６００へ出力する。
【００４４】
[マスタプロセッサの構成例]
図５は、第１の実施の形態におけるマスタプロセッサ６００の一構成例を示すブロック図である。このマスタプロセッサ６００は、エラー計数部６１０、タイムスライス制御部６２０、および、クロック制御部６３０を備える。
【００４５】
エラー計数部６１０は、所定の計数期間内に検出されたエラーの数を計数するものである。この計数期間を以下、「タイムスライス」と称する。タイムスライスの長さには、クロック信号ＣＬＫのクロック周期より長い期間が設定される。例えば、タイムスライスの長さには、クロック信号ＣＬＫの周期の１２９倍の期間（すなわち、１２９クロックサイクル）が設定される。エラー計数部６１０は、ＰＮエラー累和器６１１、ＰＮエラーカウンタ６１２、ＮＰエラー累和器６１３およびＮＰエラーカウンタ６１４を備える。
【００４６】
ＰＮエラー累和器６１１は、１クロック周期内において検出されたＰＮエラーの合計値を算出するものである。ＰＮエラー累和器６１１には、ＰＮエラー情報Ｅ_ＰＮ１乃至１６からなる１６ビットのビット列が入力される。ＰＮエラー累和器６１１は、このビット列における「１」の値のビット数（すなわち、ＰＮエラーの合計値）を算出する。ＰＮエラー累和器６１１は、算出した合計値をＰＮエラーカウンタ６１２に出力する。
【００４７】
ＮＰエラー累和器６１３は、１クロック周期内において検出されたＮＰエラーの合計値を算出するものである。ＮＰエラー累和器６１３には、ＮＰエラー情報Ｅ_ＮＰ１乃至１６からなる１６ビットのビット列が入力される。ＮＰエラー累和器６１３は、このビット列における「１」の値のビット数を算出してＮＰエラーカウンタ６１４に出力する。
【００４８】
ＰＮエラーカウンタ６１２は、タイムスライス内に検出されたＰＮエラーの数を計数するものである。ＰＮエラーカウンタ６１２は、クロック信号ＣＬＫに同期してＰＮエラー累和器６１１からの合計値をカウント値に加算する。ＰＮエラーカウンタ６１２は、カウント値をＰＮエラー総数Ｅ_ＰＮtotalとしてクロック制御部６３０に出力する。また、ＰＮエラーカウンタ６１２は、エラー数リセット信号ｅＲＳＴが入力された場合には、カウント値を初期値（例えば、「０」）にする。
【００４９】
ＮＰエラーカウンタ６１４は、タイムスライス内に検出されたＮＰエラーの数を計数するものである。ＮＰエラーカウンタ６１４は、クロック信号ＣＬＫに同期してＮＰエラー累和器６１３からの合計値をカウント値に加算する。ＮＰエラーカウンタ６１４は、カウント値をＮＰエラー総数Ｅ_ＮＰtotalとしてクロック制御部６３０に出力する。また、ＮＰエラーカウンタ６１４は、エラー数リセット信号ｅＲＳＴが入力された場合には、カウント値を初期値（例えば、「０」）にする。
【００５０】
タイムスライス制御部６２０は、タイムスライス内において、クロック信号ＣＬＫを制御するタイミングを指示するものである。タイムスライス制御部６２０は、タイムスライスカウンタ６２１およびスライス開始フラグ生成部６２２を備える。
【００５１】
タイムスライスカウンタ６２１は、タイムスライス内の経過時間を計数するものである。このタイムスライスカウンタ６２１は、クロック信号ＣＬＫのクロック周期が経過するたびに、例えば、カウント値を１つ減分する。カウント値が「０」となった次のクロック周期において、タイムスライスカウンタ６２１は、カウント値を初期値（例えば、１０進法で「１２８」）にリセットする。
【００５２】
スライス開始フラグ生成部６２２は、タイムスライスカウンタ６２１のカウント値に基づいてスライス開始フラグおよびエラー数リセット信号ｅＲＳＴを生成するものである。スライス開始フラグは、タイムスライス内の所定のタイミングにおいてクロック信号の周期およびエッジタイミングの制御量の出力を指示する信号である。スライス開始フラグ生成部６２２は、例えば、タイムスライスカウンタ６２１の値が「１２６」であるときに、スライス開始フラグを生成してクロック制御部６３０へ出力する。そして、スライス開始フラグを出力した次のクロック周期において、スライス開始フラグ生成部６２２は、エラー計数部６１０へエラー数リセット信号eＲＳＴを出力する。
【００５３】
クロック制御部６３０は、エラー数に基づいてクロック信号ＣＬＫの周期およびエッジタイミングを制御するものである。このクロック制御部６３０は、スライス開始フラグが入力されると、ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalを参照する。ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも所定の閾値未満である場合には、クロック制御部６３０は、クロック周期ｐＣＫと、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦとを初期値に制御する。
【００５４】
ここで、クロック周期ｐＣＫには、例えば、基準クロック信号ｂＣＬＫの周期に対する逓倍数（言い換えれば、分周比の逆数）が設定される。例えば、分周比が「１／１０」に制御される場合には、１０進法で「１０」の値がクロック周期ｐＣＫとして設定される。また、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦには、クロック信号ＣＬＫの周期の開始時点から、立上りまたは立下りのタイミングまでの経過時間を基準クロック信号ｂＣＬＫの周期で除した値が設定される。例えば、クロック信号ＣＬＫの周期の開始時点から、基準クロック信号ｂＣＬＫの５クロック分が経過する時点を立下りのタイミングとする場合、立下りエッジタイミングｔＦには、１０進法で「５」の値が設定される。
【００５５】
ＰＮエラー総数Ｅ_ＰＮtotalが閾値以上であり、かつ、ＮＰエラー総数Ｅ_ＮＰtotalが閾値未満である場合には、クロック制御部６３０は、ＰＮエラーの発生頻度を低減するための制御を行う。具体的には、クロック制御部６３０は、立上りエッジタイミングｔＲを早くする制御と、立下りエッジタイミングｔＦを遅くする制御とのうちの少なくとも一方を行う。
【００５６】
ＰＮエラー総数Ｅ_ＰＮtotalが閾値未満であり、かつ、ＮＰエラー総数Ｅ_ＮＰtotalが閾値以上である場合には、クロック制御部６３０は、ＮＰエラーの発生頻度を低減するための制御を行う。具体的には、クロック制御部６３０は、立下りエッジタイミングｔＦを早くする制御と、立上りエッジタイミングｔＲを遅くする制御とのうちの少なくとも一方を行う。
【００５７】
ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも閾値以上である場合には、クロック制御部６３０は、クロック周期ｐＣＫを長くする制御を行う。
【００５８】
なお、ＰＮエラー総数Ｅ_ＰＮtotalに対応する閾値と、ＮＰエラー総数Ｅ_ＮＰtotalに対応する閾値とを同じ値としているが、これらの閾値を異なる値に設定してもよい。これらの閾値は、エラーを検出するパリティ検査部の数や、パイプラインレジスタの仕様に応じて適切な値が設定される。例えば、ＰＮエラーを検出するパリティ検査部の数が、ＮＰエラーを検出するパリティ検査部の数よりも多い場合には、ＰＮエラー総数Ｅ_ＰＮtotalに対応する閾値を、ＮＰエラー総数Ｅ_ＮＰtotalに対応する閾値より大きく設定すればよい。
【００５９】
図６は、第１の実施の形態におけるクロック制御部６３０の動作の一例を示す表である。スライス開始フラグが入力されると、クロック制御部６３０は、ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalを参照する。ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも閾値未満である場合には、クロック制御部６３０は、クロック周期ｐＣＫと、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦとを初期値に制御する。クロック周期ｐＣＫの初期値は、例えば「１０」であり、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦの初期値は、例えば、「０」および「５」である。
【００６０】
ＰＮエラー総数Ｅ_ＰＮtotalのみが閾値以上である場合には、クロック制御部６３０は、例えば、立上りエッジタイミングｔＲを「０」に立下りエッジタイミングｔＦを「７」に制御する。また、クロック周期ｐＣＫは、「１０」に制御される。
【００６１】
ＮＰエラー総数Ｅ_ＮＰtotalのみが閾値以上である場合には、クロック制御部６３０は、例えば、立上りエッジタイミングｔＲを「２」に立下りエッジタイミングｔＦを「５」に制御する。また、クロック周期ｐＣＫは、「１０」に制御される。
【００６２】
ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも閾値以上である場合には、クロック制御部６３０は、クロック周期ｐＣＫを「１４」に変更する。また、クロック周期ｐＣＫの変更の前後においてデューティ比は同じ値であることが望ましい。このため、クロック制御部６３０は、例えば、立上りエッジタイミングｔＲを「０」に、立下りエッジタイミングｔＦを「７」に制御する。
【００６３】
[クロック生成部の構成例]
図７は、第１の実施の形態におけるクロック生成部２００の一構成例を示すブロック図である。クロック生成部２００は、クロック生成回路２１０、経過時間カウンタ２２０、および、レジスタ２３０を備える。
【００６４】
経過時間カウンタ２２０は、基準クロック信号ｂＣＬＫに同期して数値を計数するものである。経過時間カウンタ２２０は、計数した数値をカウント値ｃＣＮＴとしてクロック生成回路２１０に信号線２２９を介して出力するとともに自身に帰還させる。また、経過時間カウンタ２２０は、カウント値の初期化を指示するカウンタリセット信号ｃＲＳＴが入力された場合には、カウント値ｃＣＮＴを初期値にリセットする。
【００６５】
クロック生成回路２１０は、クロック信号ＣＬＫの信号値を生成するものである。このクロック生成回路２１０には、立上りエッジタイミングｔＲ、立下りエッジタイミングｔＦ、クロック周期ｐＣＫ、リセット信号ＲＳＴ、および、カウント値ｃＣＮＴが入力される。クロック生成回路２１０は、カウント値ｃＣＮＴと、立上りエッジタイミングｔＲ、立下りエッジタイミングｔＦおよびクロック周期ｐＣＫとを比較する。カウント値ｃＣＮＴが立上りエッジタイミングｔＲ以上かつ立下りエッジタイミングｔＦ未満である場合には、クロック生成回路２１０は、「１」の値をクロック信号値ＶＡＬとしてレジスタ２３０に信号線２１９を介して出力する。それ以外の場合には、クロック生成回路２１０は、「０」の値をクロック信号値ＶＡＬとしてレジスタ２３０に出力する。
【００６６】
また、カウント値ｃＣＮＴがクロック周期ｐＣＫと一致する場合には、クロック生成回路２１０は、カウンタリセット信号ｃＲＳＴを経過時間カウンタ２２０に信号線２１８を介して出力する。リセット信号ＲＳＴが入力された場合には、クロック生成回路２１０は、「０」の値をクロック信号値ＶＡＬとしてレジスタ２３０に出力するとともにカウンタリセット信号ｃＲＳＴを経過時間カウンタ２２０に出力する。
【００６７】
このように、基準クロック信号ｂＣＬＫに同期して計数されたカウント値がクロック周期ｐＣＫの周期で初期化されるため、このクロック周期ｐＣＫで生成されるクロック信号ＣＬＫは、基準クロック信号ｂＣＬＫを分周した信号となる。
【００６８】
なお、クロック生成部２００は、マスタプロセッサ６００の制御に従って、経過時間カウンタ２２０を使用してクロック信号ＣＬＫの周期およびタイミングを変更しているが、クロック生成部２００の構成は、図７に例示した構成に限定されない。例えば、タイミングの変更は、位相比較器を使用して行ってもよい。また、周期の変更は、例えば、ＰＬＬ（Phased Lock Loop）および分周器を使用して行ってもよい。
【００６９】
レジスタ２３０は、基準クロック信号ｂＣＬＫに同期して、クロック信号値ＶＡＬを保持するとともにクロック信号ＣＬＫとしてパイプラインレジスタ３１０等へ出力するものである。クロック生成回路２１０がクロック信号値ＶＡＬを生成する処理において遅延時間が生じても、レジスタ２３０の動作により、クロック信号ＣＬＫの値の遷移のタイミングが調整される。
【００７０】
図８は、第１の実施の形態におけるクロック生成回路２１０の動作の一例を示す表である。リセット信号ＲＳＴが入力された場合には、クロック生成回路２１０は、「０」の値をクロック信号値ＶＡＬとして出力し、カウンタリセット信号ｃＲＳＴを出力する。リセット信号ＲＳＴが入力されていない場合には、クロック生成回路２１０は、カウント値ｃＣＮＴと、立上りエッジタイミングｔＲ、立下りエッジタイミングｔＦおよびクロック周期ｐＣＫとを比較する。比較した結果、カウント値ｃＣＮＴが立上りエッジタイミングｔＲ未満である場合には、クロック生成回路２１０は、「０」の値をクロック信号値ＶＡＬとして出力する。カウント値ｃＣＮＴが立上りエッジタイミングｔＲ以上かつ立下りエッジタイミングｔＦ未満である場合には、クロック生成回路２１０は、「１」の値をクロック信号値ＶＡＬとして出力する。カウント値ｃＣＮＴが立下りエッジタイミングｔＦ以上である場合には、クロック生成回路２１０は、「０」の値をクロック信号値ＶＡＬとして出力する。カウント値ｃＣＮＴがクロック周期ｐＣＫに一致する場合には、クロック生成回路２１０は、カウンタリセット信号ｃＲＳＴを出力する。
【００７１】
［クロック生成部の動作例］
図９は、第１の実施の形態におけるクロック生成部２００の動作を示すタイミングチャートである。リセット信号ＲＳＴが入力されていない場合には、経過時間カウンタ２２０は、カウント値ｃＣＮＴを基準クロック信号ｂＣＬＫに同期して増分する。
【００７２】
クロック生成回路２１０は、カウント値ｃＣＮＴが立上りエッジタイミングｔＲ以上かつ立下りエッジタイミングｔＦ未満である場合に、「１」の値をクロック信号値ＶＡＬとして出力する。例えば、立上りエッジタイミングｔＲに「２」が設定され、立下りエッジタイミングｔＦに「７」が設定された場合を考える。この場合、カウント値ｃＣＮＴが「２」になったときにクロック信号値ＶＡＬに「１」が設定され、カウント値ｃＣＮＴが「７」になったときにクロック信号値ＶＡＬに「０」が設定される。
【００７３】
レジスタ２３０は、基準クロック信号ｂＣＬＫに同期して、クロック信号値ＶＡＬの値を保持するとともにクロック信号ＣＬＫとして出力する。
【００７４】
カウント値ｃＣＮＴとクロック周期ｐＣＫ（例えば、「１０」）とが等しい場合には、クロック生成回路２１０は、カウンタリセット信号ｃＲＳＴを経過時間カウンタ２２０に出力する。経過時間カウンタ２２０は、カウンタリセット信号ｃＲＳＴが入力されると、カウント値を初期値（例えば、「０」）にリセットする。
【００７５】
［情報処理装置の動作例］
図１０は、第１の実施の形態におけるエラー未検出時の情報処理装置の動作を示すタイミングチャートである。ＰＮエラー総数およびＮＰエラー総数のいずれもが閾値以下の場合には、クロック制御部６３０は、例えば、立上りエッジタイミングｔＲを「０」に、立下りエッジタイミングｔＦを「５」に制御し、クロック周期ｐＣＫを「１０」に制御する。
【００７６】
演算器４１０は、クロック信号ＣＬＫの立上りに同期して入力された信号に対して、所定の演算を実行し、実行結果としてデータ信号Ｑ１を出力する。パイプラインレジスタ３２０は、クロック信号ＣＬＫの立下りに同期してデータ信号Ｑ１を保持するとともにデータ信号ｒＱ１として出力する。
【００７７】
演算器４２０は、パイプラインレジスタ３２０からのデータ信号ｒＱ１に対して所定の演算を実行し、実行結果としてデータ信号Ｑ２を出力する。パイプラインレジスタ３３０は、クロック信号ＣＬＫの立上りに同期してデータ信号Ｑ２を保持するとともにデータ信号ｒＱ２として出力する。
【００７８】
パイプラインレジスタ３２０からのデータ信号ｒＱ１に対して、演算器４２０による演算の実行時間の分、データ信号Ｑ２の出力は遅延する。しかし、データ信号ｒＱ１が演算器４２０へ出力されるタイミング（ｔＦ）と異なるタイミング（ｔＲ）で、パイプラインレジスタ３３０が、演算器４２０からのデータ信号Ｑ２を保持するため、データ信号が確実に受け渡される。
【００７９】
図１１は、第１の実施の形態におけるＰＮエラー検出時の情報処理装置の動作を示すタイミングチャートである。電圧の低下などの原因により、演算器４１０の演算時間が長くなった場合を考える。演算器４１０からのデータ信号Ｑ１の出力のタイミングの遅れが大きいと、データ信号Ｑ１がパイプラインレジスタ３２０に保持されるまでの猶予期間がパイプラインレジスタ３２０のセットアップタイムに満たなくなることがある。このときには、出力されたデータ信号Ｑ１と、保持されたデータ信号ｒＱ１との値が異なる値となり、ＰＮエラーが検出される。
【００８０】
図１２は、第１の実施の形態におけるＰＮエラー低減時の情報処理装置の動作を示すタイミングチャートである。ＰＮエラー総数が閾値以上である場合、クロック制御部６３０は、立下りエッジタイミングｔＦを遅らせる制御を行う。この結果、データ信号Ｑ１が立下りエッジタイミングｔＦに同期して保持されるまでの猶予期間が長くなり、セットアップタイムが満たされるようになる。したがって、ＰＮエラーの発生頻度が低減する。
【００８１】
図１３は、第１の実施の形態におけるＮＰエラー検出時の情報処理装置の動作を示すタイミングチャートである。電圧の低下などの原因により、演算器４２０の演算時間が長くなった場合を考える。演算器４２０からのデータ信号Ｑ２の出力のタイミングの遅れが大きいと、データ信号Ｑ２がパイプラインレジスタ３３０に保持されるまでの猶予期間がパイプラインレジスタ３３０のセットアップタイムに満たなくなることがある。このときには、出力されたデータ信号Ｑ２と、保持されたデータ信号ｒＱ２との値が異なる値となり、ＮＰエラーが検出される。
【００８２】
図１４は、第１の実施の形態におけるＮＰエラー低減時の情報処理装置の動作を示すタイミングチャートである。ＮＰエラー総数が閾値以上である場合、クロック制御部６３０は、立上りエッジタイミングｔＲを遅らせる制御を行う。この結果、データ信号Ｑ２が立上りエッジタイミングｔＲに同期して保持されるまでの猶予期間が長くなり、セットアップタイムが満たされるようになる。したがって、ＮＰエラーの発生頻度が低減する。
【００８３】
図１５は、第１の実施の形態におけるＰＮエラーおよびＮＰエラー低減時の情報処理装置の動作を示すタイミングチャートである。ＰＮエラー総数およびＮＰエラー総数がいずれも閾値以上である場合には、クロック制御部６３０は、クロック周期ｐＣＫを長くする制御を行う。この結果、データ信号Ｑ１が立下りエッジタイミングｔＦに同期して保持されるまでの猶予期間が長くなり、ＰＮエラーの発生頻度が低減する。さらに、データ信号Ｑ２が立上りエッジタイミングｔＲに同期して保持されるまでの猶予期間も長くなり、ＮＰエラーの発生頻度も低減する。
【００８４】
［クロック制御部の動作例］
図１６は、第１の実施の形態におけるクロック制御部６３０の動作の一例を示すフローチャートである。この動作は、スライス開始フラグがクロック制御部６３０に入力されたときに開始する。クロック制御部６３０は、ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも閾値未満であるか否かを判断する（ステップＳ９０１）。Ｅ_ＰＮtotalおよびＥ_ＮＰtotalがいずれも閾値未満である場合には（ステップＳ９０１：Ｙｅｓ）、クロック制御部６３０は、クロック周期およびエッジタイミングを初期値に制御する（ステップＳ９０２）。クロック周期ｐＣＫの初期値は、例えば「１０」であり、立上りエッジタイミングｔＲおよび立下りエッジタイミングｔＦの初期値は、例えば、「０」および「５」である。
【００８５】
Ｅ_ＰＮtotalおよびＥ_ＮＰtotalのいずれかが閾値以上である場合には（ステップＳ９０１：Ｎｏ）、クロック制御部６３０は、Ｅ_ＰＮtotalが閾値以上であり、かつ、Ｅ_ＮＰtotalが閾値未満であるか否かを判断する（ステップＳ９０３）。Ｅ_ＰＮtotalが閾値以上であり、かつ、Ｅ_ＮＰtotalが閾値未満である場合（ステップＳ９０３：Ｙｅｓ）、クロック制御部６３０は、立下りエッジタイミングｔＦを遅らせる。例えば、クロック制御部６３０は、立上りエッジタイミングｔＲを「０」に立下りエッジタイミングｔＦを「７」に制御する（ステップＳ９０４）。
【００８６】
Ｅ_ＰＮtotalが閾値以上であり、かつ、Ｅ_ＮＰtotalが閾値未満である条件が満たされない場合について考える。この場合（ステップＳ９０３：Ｎｏ）、クロック制御部６３０は、Ｅ_ＰＮtotalが閾値未満であり、かつ、Ｅ_ＮＰtotalが閾値以上であるか否かを判断する（ステップＳ９０５）。Ｅ_ＰＮtotalが閾値未満であり、かつ、Ｅ_ＮＰtotalが閾値以上である場合（ステップＳ９０５：Ｙｅｓ）、クロック制御部６３０は、立上りエッジタイミングｔＲを遅らせる。例えば、クロック制御部６３０は、立上りエッジタイミングｔＲを「２」に立下りエッジタイミングｔＦを「５」に制御する（ステップＳ９０６）。
【００８７】
ＰＮエラー総数Ｅ_ＰＮtotalおよびＮＰエラー総数Ｅ_ＮＰtotalがいずれも閾値以上である場合（ステップＳ９０５：Ｎｏ）、クロック制御部６３０は、クロック周期ｐＣＫを長くする。例えば、クロック制御部６３０は、クロック周期ｐＣＫを「１４」に変更する。また、クロック制御部６３０は、デューティ比を一定に保つようにエッジタイミングを制御する。例えば、クロック制御部６３０は、立上りエッジタイミングｔＲを「０」に、立下りエッジタイミングｔＦを「７」に制御する（ステップＳ９０７）。ステップＳ９０２、Ｓ９０４、Ｓ９０６、Ｓ９０７の後、クロック制御部６３０は、クロック信号ＣＬＫを制御する動作を終了する。
【００８８】
このように、本技術の第１の実施の形態によれば、実行結果が保持されるまでの猶予期間がセットアップタイムを満たすようにクロック信号を制御することにより、猶予期間においてセットアップタイムが満たされるようになる。これにより、パイプラインレジスタ３１０などに実行結果が確実に保持され、タイミングエラーの発生が抑制される。
【００８９】
＜２．第２の実施の形態＞
［マスタプロセッサの構成例］
図１７は、第２の実施の形態におけるマスタプロセッサ６００の一構成例を示すブロック図である。第２の実施の形態のマスタプロセッサ６００は、クロック信号を制御するほか、電圧を制御する点において第１の実施の形態と異なる。第２の実施の形態のマスタプロセッサ６００は、電圧制御部６４０およびエラー未検出状態継続カウンタ６５０をさらに備える。
【００９０】
電圧制御部６４０は、エラーの検出頻度に基づいて情報処理装置１００に供給される電圧を制御するものである。この電圧制御部６４０には、スライス開始フラグ、ＰＮエラー総数、ＮＰエラー総数、および、エラー未検出状態継続カウンタ６５０のカウント値ｖＣＮＴが入力される。
【００９１】
電圧制御部６４０は、スライス開始フラグが入力された場合にＮＰエラー総数またはＰＮエラー総数を参照する。ＮＰエラー総数およびＰＮエラー総数のうちのいずれかが閾値以上である場合には、電圧制御部６４０は、情報処理装置１００に電源を供給する電源回路に対して、電圧を所定電圧昇圧するための電圧制御量ΔＶを出力する。
【００９２】
一方、ＮＰエラー総数およびＰＮエラー総数がいずれも閾値未満である場合には、電圧制御部６４０は、カウント値ｖＣＮＴが設定期間（例えば、１以上の整数）に達しているか否かを判断する。カウント値ｖＣＮＴが設定期間未満である場合には、エラー未検出状態継続カウンタ６５０を制御してカウント値ｖＣＮＴを増分させる。カウント値ｖＣＮＴが設定期間である場合には、電圧制御部６４０は、電圧を所定電圧高圧するための電圧制御量ΔＶを電源回路に出力し、カウント値ｖＣＮＴを初期値（例えば、「０」）にする。
【００９３】
電源回路は、情報処理装置１００に電源を供給し、電圧制御量ΔＶに従って供給する電圧を降圧または昇圧するものである。
【００９４】
一般に、供給される電圧が低下すると演算器４１０等の回路における演算の実行時間が長くなり、逆に電圧が高くなると実行時間は短くなる。このため、エラー数が閾値以上となった場合に昇圧することにより、実行時間が短くなってタイミングエラーの発生頻度が低減する。また、タイムスライス当たりのエラー数が閾値未満である期間が一定期間以上である場合に、降圧することにより、電力消費量を低減することができる。
【００９５】
なお、電圧制御部６４０は、クロック制御部６３０と同様に、スライス開始フラグが入力されたときに制御量の出力を行う構成としている。しかし、電圧制御部６４０は、クロック制御部６３０とは異なるタイミングで制御量を出力してもよい。
【００９６】
図１８は、第２の実施の形態における電圧制御部６４０の動作の一例を示す表である。電圧制御部６４０は、スライス開始フラグが入力された場合にＮＰエラー総数またはＰＮエラー総数を参照する。
【００９７】
ＮＰエラー総数およびＰＮエラー総数がいずれも閾値未満である場合には、電圧制御部６４０は、カウント値ｖＣＮＴが設定期間に達しているか否かを判断する。カウント値ｖＣＮＴが設定期間未満である場合には、電圧制御部６４０は、カウント値ｖＣＮＴを増分する。一方、カウント値ｖＣＮＴが設定期間に達している場合には、電圧制御部６４０は、降圧用設定値を設定した電圧制御量ΔＶを出力し、カウント値ｖＣＮＴを初期値（例えば、「０」）にする。
【００９８】
ＮＰエラー総数およびＰＮエラー総数のうちのいずれかが閾値以上である場合には、電圧制御部６４０は、昇圧用設定値を設定した電圧制御量ΔＶを出力し、カウント値ｖＣＮＴを初期値にする。
【００９９】
なお、電圧を制御する際にエラー総数と比較する閾値は、クロック信号を制御する際の閾値と同じ値としているが、これらの閾値を異なる値に設定してもよい。また、昇圧用設定値は、エラーの種類に関らずに同じ値としているが、電圧制御部６４０は、エラーの種類に応じて異なる昇圧用設定値を設定してもよい。例えば、ＮＰエラー総数およびＰＮエラー総数の両方が閾値以上となった場合の昇圧用設定値を、ＮＰエラー総数およびＰＮエラー総数のいずれかが閾値以上となった場合の昇圧用設定値より大きくしてもよい。ＮＰエラーおよびＰＮエラーの両方が検出される状態は、いずれか一方が検出される状態よりも深刻な状態であると推測されるためである。
【０１００】
このように、本技術の第２の実施の形態によれば、エラーが検出された場合にはマスタプロセッサ６００が情報処理装置１００に供給される電圧を昇圧させることにより、エラー発生時に、供給される電圧が昇圧される。これにより、演算器４１０等における実行時間が短くなり、エラーの発生がさらに抑制される。
【０１０１】
＜３．第３の実施の形態＞
［情報処理装置の構成例］
図１９は、第３の実施の形態における情報処理装置１００の一構成例を示すブロック図である。第３の実施の形態の情報処理装置１００は、演算結果を遅延させ、遅延させた信号が保持されるまでの期間がセットアップタイムを満たすか否かを判断する点において、第１の実施の形態と異なる。
【０１０２】
第３の実施の形態のパリティ生成部５１０は、データ信号Ｑ１から第１パリティビットおよび第２パリティビットを生成する。ここで、第１パリティビットは、データ信号Ｑ１から生成されたパリティビットであり、データ信号Ｑ１に対して遅延した信号である。第２パリティビットは、第１パリティビットから生成されたパリティビットであり、第１パリティビットにおけるエラーを検出するために使用されるものである。パリティ生成部５１０は、第１パリティビットおよび第２パリティビットをパイプラインレジスタ３２０に信号線５１８および５１９を介して出力する。
【０１０３】
第３の実施の形態のパリティ検査部５２０は、第１パリティビットを使用してデータ信号ｒＱ１におけるパリティエラーを検出し、その検出結果をシステムエラー情報Ｅ_ＳＹＳ１−１としてマスタプロセッサ６００へ出力する。また、パリティ検査部５２０は、第２パリティビットを使用して第１パリティビットにおけるパリティエラーを検出し、その検出結果をＰＮエラー情報Ｅ_ＰＮ１としてマスタプロセッサ６００へ出力する。Ｅ_ＰＮ１乃至１６を出力するパリティ検査部５２０は、システムエラー情報Ｅ_ＳＹＳ１−１乃至１−１６を出力し、Ｅ_ＮＰ１乃至１６を出力するパリティ検査部５５０は、システムエラー情報Ｅ_ＳＹＳ２−１乃至２−１６を出力するものとする。
【０１０４】
この第２パリティビットにより検出されるＰＮエラーは、データ信号Ｑ１に対して遅延した第１パリティビットが保持されるまでの猶予期間がセットアップタイムに満たない場合に検出される。遅延した第１パリティビットが保持されるまでの猶予期間は、遅延していないデータ信号Ｑ１が保持されるまでの猶予期間より短くなる。このため、第２パリティビットを使用することにより、ＰＮエラーをより確実に検出することができる。ＮＰエラーについても同様である。
【０１０５】
第３の実施の形態のマスタプロセッサ６００は、ＰＮエラーおよびＮＰエラーの検出頻度に基づいて第１の実施の形態と同様にクロック周期およびエッジタイミングを制御する。また、システムエラーが検出された場合には、クロック生成部２００にリセット信号ＲＳＴを出力する。
【０１０６】
［パリティ生成部の構成例］
図２０は、第３の実施の形態におけるパリティ生成部５１０の一構成例を示すブロック図である。第３の実施の形態のパリティ生成部５１０は、ＸＯＲゲート５１５をさらに備える点において第１の実施の形態と異なる。
【０１０７】
ＸＯＲゲート５１１乃至５１４は、入力されたビット列の排他的論理和を第１パリティビットとしてパイプラインレジスタ３２０およびＸＯＲゲート５１５へ出力する。なお、ＸＯＲゲート５１１乃至５１４は、特許請求の範囲に記載の遅延部の一例である。
【０１０８】
ＸＯＲゲート５１５は、入力値の排他的論理和を出力するものである。ＸＯＲゲート５１５は、ＸＯＲゲート５１１乃至５１４からの第１パリティビットの排他的論理和を第２パリティビットとしてパイプラインレジスタ３２０へ出力する。
【０１０９】
なお、パリティ生成部５１０は、ＸＯＲゲートによりデータ信号を遅延させる構成としているが、データ信号が遅延するのであれば、ＸＯＲゲート以外の素子や回路を使用してもよい。例えば、４入力のＸＯＲゲート５１１乃至５１４を１６個のバッファに置き換え、それらの出力をＸＯＲゲート５１５に入力してもよい。
【０１１０】
［パリティ検査部の構成例］
図２１は、第３の実施の形態におけるパリティ検査部５２０の一構成例を示すブロック図である。第３の実施の形態のパリティ検査部５２０は、ＸＯＲゲート５３０および５３１をさらに備える点において第１の実施の形態と異なる。
【０１１１】
ＸＯＲゲート５２１乃至５２４は、入力されたビット列の排他的論理和を第１パリティビットとしてＸＯＲゲート５３０とＸＯＲゲート５２５乃至５２８とへ出力する。ＸＯＲゲート５２５乃至５２８は、ＸＯＲゲート５２１乃至５２４からの第１パリティビットとパイプラインレジスタ３２０からの第１パリティビットとの排他的論理和をエラー情報としてＯＲゲート５２９へ出力する。ＯＲゲート５２９は、ＸＯＲゲート５２５乃至５２８からのエラー情報の論理和をシステムエラー情報Ｅ_ＳＹＳ１−１としてマスタプロセッサ６００へ出力する。
【０１１２】
ＸＯＲゲート５３０および５３１は、入力値の排他的論理和を出力するものである。ＸＯＲゲート５３０は、ＸＯＲゲート５２１乃至５２４からの第１パリティビットの排他的論理和を第２パリティビットとしてＸＯＲゲート５３１へ出力する。ＸＯＲゲート５３１は、ＸＯＲゲート５３０からの第２パリティビットとパイプラインレジスタ３２０からの第２パリティビットとの排他的論理和をＰＮエラー情報Ｅ_ＰＮ１としてマスタプロセッサ６００に出力する。
【０１１３】
［マスタプロセッサの構成例］
図２２は、第３の実施の形態におけるマスタプロセッサ６００の一構成例を示すブロック図である。第３の実施の形態のマスタプロセッサ６００は、エラー計数部６１０においてシステムエラー累和器６１５およびシステムエラーカウンタ６１６をさらに備える点において第１の実施の形態と異なる。
【０１１４】
システムエラー累和器６１５は、１クロック周期内において検出されたシステムエラーの合計値を算出するものである。システムエラー累和器６１５には、システムエラー情報Ｅ_ＳＹＳ１−１乃至１−１６およびＥ_ＳＹＳ２−１乃至２−１６からなる３２ビットのビット列が入力される。システムエラー累和器６１５は、このビット列における「１」の値のビット数を算出してシステムエラーカウンタ６１６に出力する。
【０１１５】
システムエラーカウンタ６１６は、タイムスライス内に検出されたシステムエラーの数を計数するものである。システムエラーカウンタ６１６は、クロック信号ＣＬＫに同期してシステムエラー累和器６１５からの合計値をカウント値に加算する。システムエラーカウンタ６１６は、カウント値をシステムエラー総数Ｅ_ＳＹＳtotalとしてクロック制御部６３０に出力する。また、システムエラーカウンタ６１６は、エラー数リセット信号ｅＲＳＴが入力された場合には、カウント値を初期値（例えば、「０」）にする。
【０１１６】
クロック制御部６３０は、システムエラー総数Ｅ_ＳＹＳtotalが閾値以上である場合にはリセット信号ＲＳＴをクロック生成部２００に出力する。一方、システムエラー総数Ｅ_ＳＹＳtotalが閾値未満である場合にはクロック制御部６３０は、第１の実施の形態と同様のクロック信号の制御を実行する。なお、システムエラー総数と比較する閾値は、ＰＮエラー総数やＮＰエラー総数と比較する閾値と異なる値であってもよい。
【０１１７】
なお、クロック制御部６３０は、システムエラーが検出された場合には、リセット信号により全ての素子や回路へのクロック信号ＣＬＫの出力を停止させているが、システムエラーが検出された箇所への出力のみを停止させる構成としてもよい。例えば、クロック制御部６３０は、立上りに同期するパイプラインレジスタにのみシステムエラーが検出された場合には、それらのパイプラインレジスタへの出力のみを停止させればよい。
【０１１８】
また、クロック制御部６３０は、システムエラーが検出された場合にクロック信号ＣＬＫの出力を停止させているが、代わりに、クロック周期を長くする制御と電源電圧を昇圧させる制御とのうちの少なくとも一方を実行してもよい。この場合、システムエラー検出時のクロック周期は、ＰＮエラーまたはＮＰエラー検出時のクロック周期より長く設定すればよい。また、システムエラー検出時の電圧制御量は、ＰＮエラーまたはＮＰエラーの検出時の電圧制御量より大きく設定すればよい。これは、システムエラーが検出された場合、ＰＮエラーまたはＮＰエラーの検出時よりも深刻なタイミングエラーが生じていると推測されるためである。
【０１１９】
図２３は、第３の実施の形態におけるクロック制御部６３０の動作の一例を示す表である。クロック制御部６３０は、システムエラー総数Ｅ_ＳＹＳtotalが閾値以上である場合にはリセット信号ＲＳＴを出力する。一方、システムエラー総数Ｅ_ＳＹＳtotalが閾値未満である場合にはクロック制御部６３０は、第１の実施の形態と同様の制御を実行する。
【０１２０】
このように、本技術の第３の実施の形態によれば、遅延させた実行結果が保持されるまでの猶予期間がセットアップタイムを満たすようにクロック信号を制御することより、比較的短い猶予期間においてセットアップタイムが満たされるようになる。これにより、遅延させない場合よりもエラーの検出精度が向上し、エラーの発生がさらに抑制される。
【０１２１】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１２２】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【０１２３】
なお、本技術は以下のような構成もとることができる。
（１）クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理部と、
前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持部と、
前記実行結果が前記保持部に保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断部と、
前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御部と、
前記制御されたタイミングに従って前記クロック信号を生成するクロック生成部と
を具備する情報処理装置。
（２）前記判断部は、前記立上りに同期して出力された前記データ信号に対応する前記実行結果が前記立下りに同期して前記保持部に保持されるまでの猶予期間である立下り猶予期間と前記立下りに同期して出力された前記データ信号に対応する前記実行結果が前記立上りに同期して前記保持部に保持されるまでの猶予期間である立上り猶予期間との各々が前記セットアップタイムを満たすか否かを判断し、
前記クロック制御部は、
前記立下り猶予期間または前記立上り猶予期間が前記セットアップタイムを満たさないと判断された場合には前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するタイミング制御部と、
前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たさないと判断された場合には前記立下り猶予期間および前記立上り猶予期間がいずれも前記セットアップタイムを満たすように前記クロック信号の周期を長くするクロック周期制御部と
を備える
前記（１）記載の情報処理装置。
（３）前記クロック制御部は、前記猶予期間が前記セットアップタイムを満たすまで前記一方のタイミングを早くする制御と前記猶予期間が前記セットアップタイムを満たすまで前記他方のタイミングを遅らせる制御との少なくとも一方を実行する
前記（１）または（２）記載の情報処理装置。
（４）前記処理部により出力された前記実行結果を遅延させて前記保持部へ出力する遅延部をさらに具備し、
前記タイミング判断部は、前記遅延部により遅延された実行結果が前記保持部に保持されるまでの期間を前記猶予期間として当該猶予期間が前記保持部のセットアップタイムを満たすか否かを判断する
前記（１）乃至（３）のいずれかに記載の情報処理装置。
（５）前記遅延部により遅延された実行結果から当該実行結果のエラーを検出するためのエラー検出符号を生成するエラー検出符号生成部をさらに具備し、
前記タイミング判断部は、前記エラー検出符号を使用することにより前記遅延された実行結果のエラーを検出した場合には前記猶予期間について前記セットアップタイムを満たさないと判断する
前記（４）記載の情報処理装置。
（６）前記処理部は、電源供給部から供給された電圧に応じた実行時間で前記データ信号に対して前記所定の処理を実行し、
前記猶予期間がセットアップタイムを満たさないと判断された場合には所定電圧昇圧した前記電圧を前記電源供給部に供給させる電圧制御部と
をさらに具備する
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（７）処理部が、クロック信号の立上りおよび立下りのうちのいずれか一方のタイミングに同期して出力されたデータ信号に対して所定の処理を実行して当該実行結果を出力する処理手順と、
保持部が、前記立上りおよび前記立下りのうちの他方のタイミングに同期して前記実行結果を保持する保持手順と、
タイミング判断部が、前記保持部に前記実行結果が保持されるまでの猶予期間が前記保持部のセットアップタイムを満たすか否かを判断するタイミング判断手順と、
クロック制御部が、前記猶予期間がセットアップタイムを満たさないと判断された場合には前記猶予期間が前記セットアップタイムを満たすように前記立上りおよび前記立下りのうちの少なくとも一方のタイミングを制御するクロック制御手順と、
クロック生成部が、前記制御されたタイミングに従って前記クロック信号を生成するクロック生成手順と
を具備する情報処理装置の制御方法。
【符号の説明】
【０１２４】
１００  情報処理装置
２００  クロック生成部
２１０  クロック生成回路
２２０  経過時間カウンタ
２３０  レジスタ
３１０、３２０、３３０  パイプラインレジスタ
４１０、４２０、４３０  演算器
５１０、５４０  パリティ生成部
５１１〜５１５、５２１〜５２８、５３０、５３１  ＸＯＲ（排他的論理和）ゲート
５２０、５５０  パリティ検査部
５２９  ＯＲ（論理和）ゲート
６００  マスタプロセッサ
６１０  エラー計数部
６１１  ＰＮエラー累和器
６１２  ＰＮエラーカウンタ
６１３  ＮＰエラー累和器
６１４  ＮＰエラーカウンタ
６１５  システムエラー累和器
６１６  システムエラーカウンタ
６２０  タイムスライス制御部
６２１  タイムスライスカウンタ
６２２  スライス開始フラグ生成部
６３０  クロック制御部
６４０  電圧制御部
６５０  エラー未検出状態継続カウンタ
【図１】
0005834936.tif 000002
【図２】
0005834936.tif 000003
【図３】
0005834936.tif 000004
【図４】
0005834936.tif 000005
【図５】
0005834936.tif 000006
【図６】
0005834936.tif 000007
【図７】
0005834936.tif 000008
【図８】
0005834936.tif 000009
【図９】
0005834936.tif 000010
【図１０】
0005834936.tif 000011
【図１１】
0005834936.tif 000012
【図１２】
0005834936.tif 000013
【図１３】
0005834936.tif 000014
【図１４】
0005834936.tif 000015
【図１５】
0005834936.tif 000016
【図１６】
0005834936.tif 000017
【図１７】
0005834936.tif 000018
【図１８】
0005834936.tif 000019
【図１９】
0005834936.tif 000020
【図２０】
0005834936.tif 000021
【図２１】
0005834936.tif 000022
【図２２】
0005834936.tif 000023
【図２３】
0005834936.tif 000024