(57)【要約】【課題】必要とされる演算負荷に応じた消費電力とする。【解決手段】複数に分割したステージ処理を実行する複数の組み合わせ回路21Ａ〜21Ｅと、組み合わせ回路21Ａ〜21Ｅ間に配置され、前段の組み合わせ回路の出力を保持して次段の組み合わせ回路に入力させるＦＦ22Ａ〜22Ｄと、ＦＦの出力側に配置され、ＦＦの保持内容とＦＦをバイパスした前段の組み合わせ回路の出力の一方を選択し、選択した結果を次段の組み合わせ回路に入力させるセレクタ23Ａ〜23Ｄと、セレクタの選択動作と、ＦＦの休止とを制御する制御回路25とを備える。【選択図】      図１
2019053413.tif 000002
【特許請求の範囲】
【請求項１】
複数に分割したステージ処理を実行する複数の処理回路と、
上記複数の処理回路間に配置され、前段の処理回路の出力を保持して次段の処理回路に入力させる保持回路と、
上記保持回路の出力側に配置され、保持回路の保持内容と上記保持回路をバイパスした前段の処理回路の出力の一方を選択し、選択した結果を次段の処理回路に入力させる選択回路と、
上記選択回路の選択動作と、保持回路の休止とを制御する制御回路と、
を備えるデータ処理装置。
【請求項２】
上記制御回路は、対応する上記保持回路を休止させる場合、対応する上記選択回路を、上記保持回路をバイパスした前段の処理回路の出力を選択し、上記前段の処理回路の出力を上記次段の処理回路に入力させるように制御する請求項１記載のデータ処理装置。
【請求項３】
上記制御回路は、対応する上記保持回路を動作させる場合、対応する上記選択回路を、対応する上記保持回路の保持内容を選択し、対応する上記保持回路の保持内容を上記次段の処理回路に入力させるように制御する請求項１記載のデータ処理装置。
【請求項４】
上記制御回路は、上記保持回路を動作させる動作クロックの周波数に基づいて、上記選択回路の選択動作と、対応する保持回路の休止とを制御する請求項１乃至３何れか一項記載のデータ処理装置。
【請求項５】
上記動作クロックの上記保持回路への供給を制御するゲート回路を備え、
上記制御回路は、上記ゲート回路を、上記動作クロックの上記保持回路への供給を止めるように制御することにより、対応する上記保持回路を休止させる請求項４記載のデータ処理装置。
【請求項６】
上記処理回路は、組み合わせ回路である請求項１乃至５何れか一項記載のデータ処理装置。
【請求項７】
複数に分割したステージ処理を実行する複数の処理工程と、
上記複数の処理工程間で、前段の処理工程の出力を保持して次段の処理工程に入力させる保持工程と、
上記保持工程毎に対応し、保持工程での保持内容と上記保持工程をバイパスした前段の処理工程での出力の一方を選択し、選択した内容を次段の処理工程に供給する選択工程と、
上記選択工程での選択動作と、保持工程の休止とを制御する制御工程と、
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パイプライン処理を行なうデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
複数のパイプラインで同じデータに対するメモリアクセスがある場合に、同じデータに対するアクセスの重複をなくすプロセッサを提供するようにした技術が提案されている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０６６２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載された技術を含めて、高速な演算回路で動作クロックの周波数を上げながら、スループットが低下するのを回避するべく、パイプライン回路が用いられる。
【０００５】
図２は、一般的なパイプライン回路の構成を示す図である。同図では、全体で実行する演算を連続した複数のステージ、例えば５つの組み合わせ回路１１Ａ〜１１Ｅに分割して処理するものとしている。各組み合わせ回路１１Ａ〜１１Ｅ間には、前段の組み合わせ回路で処理した演算結果を保持して次段の組み合わせ回路に入力させるフリップフロップ１２Ａ〜１２Ｄを配置しており、各フリップフロップ１２Ａ〜１２Ｄに共通したクロックを供給して動作を同期させるものとしている。
【０００６】
このように演算回路をパイプライン構造で設計することにより、フリップフロップ１２Ａ〜１２Ｄ間の信号伝播遅延が小さくなるので、クロック周波数の向上とステージ分割によるパイプライン演算が可能となり、演算処理の性能が向上する。
【０００７】
このように、高速クロックを入力することを前提として設計されたパイプライン回路であるが、分割するステージ数に対応して、各組み合わせ回路間で演算結果を保持するフリップフロップの総数も多くなる。
【０００８】
こうしたパイプライン回路を実装する装置にあっては、例えば低消費電力モードで動作クロックの周波数を低く抑えるアプリケーションプログラムを実行する場合でも、当該パイプライン回路内でスイッチング動作するフリップフロップの数は変わらないため、消費電力を大きく削減することは望めないという不具合があった。
【０００９】
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、必要とされる演算負荷に応じた消費電力とすることが可能なデータ処理装置及びデータ処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様は、複数に分割したステージ処理を実行する複数の処理回路と、上記複数の処理回路間に配置され、前段の処理回路の出力を保持して次段の処理回路に入力させる保持回路と、上記保持回路の出力側に配置され、保持回路の保持内容と上記保持回路をバイパスした前段の処理回路の出力の一方を選択し、選択した結果を次段の処理回路に入力させる選択回路と、上記選択回路の選択動作と、保持回路の休止とを制御する制御回路と、を備える。
【発明の効果】
【００１１】
本発明によれば、必要とされる演算負荷に応じた消費電力とすることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るパイプライン回路の構成を示すブロック図。
【図２】一般的なパイプライン回路の構成を示すブロック図。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について図面を参照して説明する。
【００１４】
図１は、同実施形態に係るパイプライン回路の構成を示すブロック図である。同図において、全体で実行する演算を連続した複数のステージ、例えば５つの組み合わせ回路２１Ａ〜２１Ｅに分割して処理するものとしている。
【００１５】
各組み合わせ回路２１Ａ〜２１Ｅ間には、前段の組み合わせ回路で処理した演算結果を保持して次段の組み合わせ回路に入力させるフリップフロップ２２Ａ〜２２Ｄを配置している。
【００１６】
また、フリップフロップ２２Ａ〜２２Ｄの各後段側、次段の組み合わせ回路２１Ｂ〜２１Ｅとの間に、セレクタ（ＳＥＬ）２３Ａ〜２３Ｄを介在させ、フリップフロップ２２Ａ〜２２Ｄの出力を入力「１」側に入力している。
【００１７】
これらセレクタ２３Ａ〜２３Ｄの入力「０」側には、前段のフリップフロップ２２Ａ〜２２Ｄをバイパスして、組み合わせ回路２１Ａ〜２１Ｅの出力が直接入力される。セレクタ２３Ａ〜２３Ｄでの選択出力が、次段の組み合わせ回路２１Ｂ〜２１Ｅへ入力される。
【００１８】
セレクタ２３Ａ〜２３Ｄは、制御回路２５からのセレクト信号ｅｎａｂｌｅ０〜ｅｎａｂｌｅ３に応じて、２つの入力の内のいずれか一方を選択し、次段の組み合わせ回路２１Ｂ〜２１Ｅへ出力する。
なお、本セレクタ２３Ａ〜２３Ｄにおいては、セレクト信号ｅｎａｂｌｅ０〜ｅｎａｂｌｅ３が“１”の場合、セレクタ２３Ａ〜２３Ｄの入力「１」側に入力される信号、すなわち、フリップフロップ２２Ａ〜２２Ｄの出力信号がセレクタ２３Ａ〜２３Ｄから出力され、セレクト信号ｅｎａｂｌｅ０〜ｅｎａｂｌｅ３が“０”の場合、セレクタ２３Ａ〜２３Ｄの入力「０」側に入力される信号、すなわち、フリップフロップ２２Ａ〜２２Ｄをバイパスした組み合わせ回路２１Ａ〜２１Ｅの出力信号がセレクタ２３Ａ〜２３Ｄから出力される。
【００１９】
上記制御回路２５の出力するセレクト信号はまた、アンド回路２４Ａ〜２４Ｄにも入力される。これらアンド回路２４Ａ〜２４Ｄにはさらにクロック（ｃｌｏｃｋ）信号が入力されており、その論理積出力が上記フリップフロップ２２Ａ〜２２Ｄに動作クロックとして供給される。
【００２０】
すなわち、アンド回路２４Ａ〜２４Ｄは、制御回路２５からのセレクト信号に応じて、フリップフロップ２２Ａ〜２２Ｄに供給される動作クロックをそれぞれ接続／切断するゲート回路として機能する。
【００２１】
制御回路２５は、例えばＣＰＵレジスタとして構成されており、上記セレクト信号はＣＰＵが実行するソフトウェアによって自在に書換え可能な信号である。
【００２２】
上記のような回路構成にあって、動作クロックの周波数を、このパイプライン回路に設定された最も高い周波数「ｆｍａｘ」として回路を動作させたい場合、制御回路２５はセレクト信号ｅｎａｂｌｅ０〜ｅｎａｂｌｅ３をいずれも“１”に設定しておく。
【００２３】
この設定により、すべてのフリップフロップ２２Ａ〜２２Ｄに動作クロックが供給されて、セレクタ２３Ａ〜２３Ｄはフリップフロップ２２Ａ〜２２Ｄの出力を選択して次段の組み合わせ回路２１Ｂ〜２１Ｅに入力させることになる。
【００２４】
したがって、このパイプライン回路は、上記図２に示した同回路と同一の論理構成で動作するものとなり、高速の動作クロックによって処理を実行する、高いスループットでの演算動作が実現できる。
【００２５】
また動作クロックの周波数を、このパイプライン回路に設定された最も高い周波数「ｆｍａｘ」の１／２に落として、低消費電力モードで回路を動作させたい場合、制御回路２５は、例えばセレクト信号ｅｎａｂｌｅ０＝“１”、セレクト信号ｅｎａｂｌｅ１＝“０”、セレクト信号ｅｎａｂｌｅ２＝“１”、セレクト信号ｅｎａｂｌｅ３＝“０”と設定して、セレクト信号ｅｎａｂｌｅ０〜ｅｎａｂｌｅ３を交互に反転した内容とさせる。
【００２６】
この設定により、フリップフロップ２２Ｂ，２２Ｄには動作クロックが供給されず、停止状態となると共に、セレクタ２３Ｂ，２３Ｄは前段の組み合わせ回路２１Ｂ，２１Ｄの直接出力を選択して、次段の組み合わせ回路２１Ｃ，２１Ｅに入力させることとなる。
【００２７】
それぞれの組み合わせ回路２１Ａ〜２１Ｅは、周波数「ｆｍａｘ」で動作するように遅延調整されているので、フリップフロップ２２Ａ〜２２Ｄが１つおきにバイパスされた状態においても、周波数「ｆｍａｘ／２」の周波数の動作クロックでの演算処理動作は保証される。
【００２８】
さらに、動作クロックの周波数を、このパイプライン回路に設定された最も高い周波数「ｆｍａｘ」の１／４に落として回路を動作させたい場合、制御回路２５は、例えばセレクト信号ｅｎａｂｌｅ０を“１”、セレクト信号ｅｎａｂｌｅ１〜ｅｎａｂｌｅ３＝“０”と設定する。
【００２９】
この設定により、フリップフロップ２２Ｂ〜２２Ｄには動作クロックが供給されず、停止状態となると共に、セレクタ２３Ｂ〜２３Ｄは前段の組み合わせ回路２１Ｂ〜２１Ｄの直接出力を選択して、次段の組み合わせ回路２１Ｃ〜２１Ｅに入力させることとなる。
【００３０】
こうして、さらに多くのフリップフロップの動作を停止させることで、回路での消費電力をさらに削減することができる。
【００３１】
以上に述べた如く、回路の動作周波数に応じて、動作クロックを供給するフリップフロップを間引いて休止させる回路構造としたことにより、動作クロックの周波数が変更可能である場合に、実際に選択されている周波数がどの値であっても、常にその周波数に応じた適切な消費電力で当該回路を動作させることが可能となる。
【００３２】
例えば、最も高い周波数「ｆｍａｘ」が３００［ＭＨｚ］で最適設計されている一般的なパイプライン回路を１００［ＭＨｚ］で動作させた場合と、最も高い周波数「ｆｍａｘ」が１００［ＭＨｚ］で最適設計されている一般的なパイプライン回路をその１００［ＭＨｚ］で動作させた場合とでは、後者の場合の方が消費電力が小さくなる。
【００３３】
しかしながら、上記実施形態で説明したパイプライン回路では、３００［ＭＨｚ］動作時と１００［ＭＨｚ］動作時のいずれであっても、それらのクロック周波数で最適設計されている回路と同等の低消費電力での動作が実現可能となる。
【００３４】
以上詳述した如く本実施形態によれば、必要とされる演算負荷に応じた消費電力とすることが可能となる。
【００３５】
その他、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。さらに、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００３６】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［請求項１］  
複数に分割したステージ処理を実行する複数の処理回路と、  
上記複数の処理回路間に配置され、前段の処理回路の出力を保持して次段の処理回路に入力させる保持回路と、  
上記保持回路の出力側に配置され、保持回路の保持内容と上記保持回路をバイパスした前段の処理回路の出力の一方を選択し、選択した結果を次段の処理回路に入力させる選択回路と、  
上記選択回路の選択動作と、保持回路の休止とを制御する制御回路と、  
を備えるデータ処理装置。  
［請求項２］  
上記制御回路は、対応する上記保持回路を休止させる場合、対応する上記選択回路を、上記保持回路をバイパスした前段の処理回路の出力を選択し、上記前段の処理回路の出力を上記次段の処理回路に入力させるように制御する請求項１記載のデータ処理装置。  
［請求項３］  
上記制御回路は、対応する上記保持回路を動作させる場合、対応する上記選択回路を、対応する上記保持回路の保持内容を選択し、対応する上記保持回路の保持内容を上記次段の処理回路に入力させるように制御する請求項１記載のデータ処理装置。  
［請求項４］  
上記制御回路は、上記保持回路を動作させる動作クロックの周波数に基づいて、上記選択回路の選択動作と、対応する保持回路の休止とを制御する請求項１乃至３何れか一項記載のデータ処理装置。  
［請求項５］  
上記動作クロックの上記保持回路への供給を制御するゲート回路を備え、  
上記制御回路は、上記ゲート回路を、上記動作クロックの上記保持回路への供給を止めるように制御することにより、対応する上記保持回路を休止させる請求項４記載のデータ処理装置。  
［請求項６］  
上記処理回路は、組み合わせ回路である請求項１乃至５何れか一項記載のデータ処理装置。  
［請求項７］  
複数に分割したステージ処理を実行する複数の処理工程と、  
上記複数の処理工程間で、前段の処理工程の出力を保持して次段の処理工程に入力させる保持工程と、  
上記保持工程毎に対応し、保持工程での保持内容と上記保持工程をバイパスした前段の処理工程での出力の一方を選択し、選択した内容を次段の処理工程に供給する選択工程と、  
上記選択工程での選択動作と、保持工程の休止とを制御する制御工程と、  
を有するデータ処理方法。
【符号の説明】
【００３７】
１１Ａ〜１１Ｅ…組み合わせ回路
１２Ａ〜１２Ｄ…フリップフロップ（ＦＦ）
２１Ａ〜２１Ｅ…組み合わせ回路
２２Ａ〜２２Ｄ…フリップフロップ（ＦＦ）
２３Ａ〜２３Ｄ…セレクタ
２４Ａ〜２４Ｄ…アンド回路
２５…制御回路
【図１】
2019053413.tif 000003
【図２】
2019053413.tif 000004