(57)【特許請求の範囲】
【請求項１】
−  第１レジスタと、
−  入力部に前記第１レジスタを結合した、少なくとも３つの段のカスケードであって、
−  各々の段が、入力部、出力部、組み合わせ回路部分およびレジスタを具え、前記入力部を前記出力部に前記組み合わせ回路部分およびレジスタを連続して経て結合し、最終段を除く各々の段の出力部を該カスケードにおける次の段の入力部に結合した、該カスケードと、
−  前記レジスタに結合し、前記レジスタへのデータ標本のラッチングを制御するクロック手段とを具え、データ標本をクロック信号のサイクル毎に一回ラッチし、前記第１レジスタと、前記カスケードの最終段におけるレジスタとが、データ標本を前記サイクルのほぼ同じ位相においてラッチし、前記カスケードの他の段におけるレジスタが、データ標本を、互いに異なった中間位相においてラッチする、パイプラインデータ処理回路において、前記クロック手段を、前記データが前記第１レジスタから前記カスケードを通って前記カスケードの最終段におけるレジスタに１サイクル以内に伝播するように前記中間位相を制御するように配置したことを特徴とするパイプラインデータ処理回路。
【請求項２】
請求の範囲１によるパイプラインデータ処理回路において、前記カスケードの最初の段ではない少なくとも１つの段における組み合わせ回路が、多入力論理ゲートを具え、前記カスケードにおける少なくとも１つの段より前段のカスケードの他の段が、各々が前記他の段のレジスタに接続された出力部を有する少なくとも２つのサブ部分を含み、前記レジスタが、前記出力部からのデータを前記多入力論理ゲートの別々の入力部に並列に結合し、前記第１レジスタから各々のサブ部分を経て多入力論理ゲートへの伝播遅延を、前記多入力論理ゲート出力部におけるグリッチが回避される程度に、前記他の段におけるレジスタへのラッチングによって相互に等しくするパイプラインデータ処理回路。
【請求項３】
請求の範囲１に記載のパイプラインデータ処理回路において、前記最終段の出力部からのデータを前記第１レジスタに供給し戻すループを含むパイプラインデータ処理回路。
【発明の詳細な説明】
本発明は、
−  第１レジスタと、
−  入力部に前記第１レジスタを結合した、少なくとも３つの段のカスケードであって、
−  各々の段が、入力部、出力部、組み合わせ回路部分およびレジスタを具え、前記入力部を前記出力部に前記組み合わせ回路部分およびレジスタを連続して経て結合し、最終段を除く各々の段の出力部を該カスケードにおける次の段の入力部に結合した、該カスケードと、
−  前記レジスタに結合し、前記レジスタへのデータ標本のラッチングを制御するクロック手段とを具え、データ標本をクロック信号のサイクル毎に一回ラッチし、前記第１レジスタと、前記カスケードの最終段におけるレジスタとが、データ標本を前記サイクルのほぼ同じ位相においてラッチし、前記カスケードの他の段におけるレジスタが、データ標本を、互いに異なった中間位相においてラッチする、パイプラインデータ処理回路に関する。
このようなパイプラインデータ処理回路は、米国特許明細書第４８３９６０４号から既知である。
パイプライン化は、データを処理することができる標本レートを上昇させる技術である。パイプライン化は、組み合わせ論理回路を、レジスタによって互いに分離された組み合わせ論理回路部分のカスケードに分割することを含む。前記レジスタは、互いに位相において周期化され、データの標本は、前記レジスタ中に、クロック信号のサイクル毎に１回ラッチされる。前記サイクル中、各々の組み合わせ回路部分は、その入力データの関数として出力データを計算する（これを、データの伝播と呼ぶ）。前記サイクルの長さは、少なくとも、最も遅い組み合わせ回路部分がその入力データの関数として出力データを計算するのに必要とする期間と同じ長さにしなければならない。この期間は、組み合わせ回路全体による出力データ計算に必要な期間よりはるかに短い。
パイプライン化は、電力消費を減少するという追加の利点を有する。これは、パイプライン化が、グリッチ、すなわち、論理的に無意味な、前記組み合わせ回路における論理ゲートの出力部における互いに逆のレベル変化の対の数を減少するからである。前記組み合わせ回路は、入力部と、ＮＡＮＤゲートのような多入力論理ゲートとの間に並列に接続された種々の回路枝路を有してもよい。前記種々の回路枝路に沿った伝播遅延時間が違いすぎる場合、前記種々の枝路からのデータは、前記多入力論理ゲートの出力部において別々の変化を引き起こすかもしれない。これらの変化は独立した意味を持たず、すなわち、これらはグリッチである。前記連続するレジスタ間の組み合わせ論理回路の部分が短い場合、伝播遅延における差は、前記多入力論理ゲートの出力部がグリッチを示さないほど小さくなる。
パイプライン化は、待ち時間が長くなるという欠点を有する。前記回路の待ち時間は、前記回路の入力部におけるデータの到達と、出力部におけるその到達との間のクロックサイクル数である。待ち時間は、前記回路におけるレジスタの数に比例する。待ち時間は、前記回路がフィードバックループを含む場合、特に不都合であり、このようなループが不安定になる危険性が、待ち時間が増加するにつれて増加する。
とりわけ、本発明の目的は、待ち時間を増加することなく、パイプライン回路の電力消費を減少することである。
とりわけ、本発明の他の目的は、追加の待ち時間問題を引き起こすことなく、フィードバックループを有するパイプライン回路の電力消費を減少することである。
本発明によるパイプラインデータ処理回路は、前記クロック手段を、前記データが前記第１レジスタから前記カスケードを通って前記カスケードの最終段におけるレジスタに１サイクル以内に伝播するように前記中間位相を制御するように配置したことを特徴とする。このように、前記第２および第３レジスタは、待ち時間に寄与しない。サイクル時間、すなわち、連続する標本間の時間は、少なくとも、前記第１レジスタから組み合わせ回路を通って第４レジスタへデータが伝播するのに必要な時間である。したがって、前記第２および第３レジスタは、前記サイクルタイムを短縮する方向に寄与しない。
前記パイプラインデータ処理回路の一実施例において、前記カスケードの最初の段ではない少なくとも１つの段における組み合わせ回路が、多入力論理ゲートを具え、前記カスケードにおける少なくとも１つの段より前段のカスケードの他の段が、各々が前記他の段のレジスタに接続された出力部を有する少なくとも２つのサブ部分を含み、前記レジスタが、前記出力部からのデータを前記多入力論理ゲートの別々の入力部に並列に結合し、前記第１レジスタから各々のサブ部分を経て多入力論理ゲートへの伝播遅延を、前記多入力論理ゲート出力部におけるグリッチが回避される程度に、前記他の段におけるレジスタへのラッチングによって相互に等しくする。
前記パイプラインデータ処理回路の一実施例は、前記最終段の出力部からのデータを前記第１レジスタに供給し戻すループを含む。このようにして、前記第２および第３レジスタの少なくとも一方は、グリッチを防止することによって電力消費を減少する。このようにして、前記フィードバックループにおける追加のレジスタは、データを前記ループに沿って伝播させるのに必要なサイクル数に影響しない。結果として、グリッチによる電力消費は、前記ループの安定性を損なうことなく減少する。
本発明のこれらのおよび他の有利な態様を、図の援助と共に説明する。
図１は、本発明によるパイプラインデータ処理回路を示す。
図２は、３つのクロック信号を示す。
図３は、本発明によるパイプラインデータ処理回路の一部を示す。
図４は、フィードバックループを含む本発明によるパイプラインデータ処理回路の一部を示す。
図１は、本発明によるパイプラインデータ処理回路を示す。本回路は、初期回路８および最終回路９を含む。初期回路８を、４つのレジスタ１２ａ−ｂ、１４、１６のカスケードと、連続するレジスタ１２ａ−ｂ、１４、１６の各々の対の間の組み合わせ回路部分１０ａ−ｃとを経て、最終回路９に結合する。各々の組み合わせ回路部分ａ−ｃは、１つまたはそれ以上の論理ゲートと、前記論理ゲートの相互間および組み合わせ回路部分１０ａ−ｃの入力部および出力部との相互連結部とを含む。
本回路は、３つの出力部１８ａ−ｃを有するクロック回路１８を含む。第１出力部１８ａを、前記カスケードにおける第１および第４レジスタ１２ａ−ｂに結合する。第２および第３出力部１８ｂ−ｃを、前記カスケードにおける第２および第３レジスタに各々結合する。３つの出力部１８ａ−ｃの各々を、初期回路８および最終回路９の双方にも結合する。
動作において、クロック回路１８は、第１、第２および第３の相互に異なるクロック信号をその出力部１８ａ−ｃにおいて発生する。図２は、クロック信号１９ａ−ｃを示す。信号１９ａ−ｃは、すべて同じ周期だが、位相が異なる。第２クロック信号１９ｂは、前記カスケードにおける第２レジスタ１４に供給され、第１および第４レジスタ１２ａ−ｂに供給される第１クロック信号１９ａに対して、３分の１周期遅延する。第３クロック信号１９ｃは、前記カスケードにおける第３レジスタ１６に供給され、第２クロック信号１９ｂに対して３分の１周期遅延する。
動作において、前記パイプライン回路は、データを受け、そのデータの組み合わせ関数であるデータを出力する。この組み合わせ関数を、連続的な部分に分割する。前記組み合わせ関数の部分を別々に計算し、その結果をレジスタに格納する。
データ標本を、初期回路８に入力する。このデータ標本を、前記初期回路において処理し、その結果は、ある伝播時間後、第１レジスタ１２ａに達する。第１クロック信号１９ａの立ち上がりエッジにおいて、この結果を第１レジスタ１２ａにラッチし、その後、第１レジスタ１２ａからデータ標本として出力する。第１組み合わせ回路部分１０ａは、第１レジスタ１２ａのこの標本を受け、その論理関数として出力データを計算する。第１組み合わせ回路部分１０ａによる計算の結果は、第２レジスタ１４に達し、第２クロック信号１９ｂの立ち上がりエッジにおいて、この第２レジスタ１４にラッチする。次にこの結果を、第２組み合わせ回路部分１０ｂによって処理し、その結果を、前記第３クロック信号の立ち上がりエッジにおいて、第３レジスタ１６にラッチする。最後に、第３組み合わせ回路部分１０ｃは、第３レジスタ１６からのデータを処理し、その結果を、前記第１クロック信号の立ち上がりエッジにおいて、第４レジスタ１２ｂにラッチする。
前記第４レジスタから、その結果を最終回路９に供給する。第１および最終回路８、９それ自体は、第１および第４レジスタ１２ａ−ｂと位相において周期化した他のレジスタを含んでもよく、さらに、第２および第３レジスタ１４、１６と位相において周期化したレジスタを有するカスケード１２ａ−ｂ、１４、１６、１０ａ−ｃと同様の構造を有してもよい。
このようにして、第１クロック信号１９ａの１周期において、データは第１レジスタ１２ａから第４レジスタ１２ｂに伝播する。データを、周期毎に１回これらのレジスタ１２ａ−ｂにラッチする。各々の新たな周期において、前記処理を新たなデータ標本に対して繰り返す。したがって、第１クロック信号１９ａの１周期は、前記パイプライン回路の動作サイクルを構成する。データ標本を、前記サイクルを通じて、第１レジスタ１２ａにおいて保持する。前記サイクル中、第１レジスタ１２ａにおけるデータ標本から生じるデータを第２レジスタ１４にラッチし、前記データ標本から生じるデータを第３レジスタ１６にラッチする。前記第２および第３レジスタの貫通接続による交換は、前記回路の論理機能にも、その標本レートにも影響しない。しかしながら、図３を使用して説明するように、貫通接続の代わりにレジスタ１４、１６を使用することは、電力消費をより少なくする。
図３は、本発明によるパイプラインデータ処理回路の一部を示す。図３は、第１組み合わせ回路部分３０ａに結合された第１レジスタ３２ａを示す。組み合わせ回路部分３０ａを、第２レジスタ３４に結合する。第１組み合わせ回路部分３０ａおよび第２レジスタ３４を、第２組み合わせ回路部分３０ｂに結合し、この組み合わせ回路部分３０ｂを、第３レジスタ３６に結合する。第３レジスタ３６を、前記第３組み合わせ回路部分を経て、第４レジスタ３２ｂに結合する。
図３は、クロック回路１８も示し、その第１出力部を第１および第４レジスタ３２ａ−ｂに結合し、その第２および第３出力部を第２および第３レジスタ２４、２６に各々結合する。
第２組み合わせ回路部分３０ｂは、第１および第２サブ部分３０５、３０６と、多入力論理ゲート３０７と、第３サブ部分３０８とを含む。第１および第２サブ部分３０５、３０６は、多入力論理ゲート３０７に結合された出力部を有する。第１および第２サブ部分の各々は、多入力論理ゲート３０７に結合された出力部を有する。多入力論理ゲート３０７の出力部を、第３サブ部分３０８の入力部に結合する。第３サブ部分３０８の出力部を、第３レジスタ３６に結合する。
第１組み合わせ回路部分３０ａは、各々が前記第１レジスタに結合された入力部を有する３つのサブ部分３０１、３０２、３０３を含む。これらのサブ部分の第１のもの３０１の出力部を、第２組み合わせ論理回路部分３０ｂの第３サブ部分３０８の入力部に結合する。これらのサブ部分の第２および第３のもの３０２、３０３の出力部を、第２レジスタ３４に結合する。
動作において、データを、第１組み合わせ論理回路部分３０ａの第２および第３サブ部分３０２、３０３によって処理し、各々の結果を、第２クロック信号１９ｂの正のエッジにおいて、前記第２レジスタにラッチする。その後、これらの結果を、第１および第２サブ部分３０５、３０６を各々経て、多入力論理ゲート３０７に供給する。
前記回路の機能に影響を及ぼすことなく、第２レジスタ３４を貫通接続と交換してもよく、すなわち、第１組み合わせ論理回路部分３０ａのサブ部分３０２、３０３を、第２組み合わせ論理回路部分３０ｂの第１および第２サブ部分２０５、２０６に直接接続してもよい。これは、第２レジスタ３４が前記周期の３分の１後にデータをラッチする場合と、前記第２レジスタを貫通接続と交換した場合の双方で、サイクル全体の間に第１レジスタ３２ａからデータ標本が出力され、このサイクル中に、データは第１レジスタ３２ａから第４レジスタ３２ｂに伝播するからである。これを説明するために、第１組み合わせ回路部分３０ａの１つのサブ部分３０１の出力部を、第２組み合わせ回路部分３０ｂに直接、第２レジスタ３４を回避して接続した。
しかしながら、貫通接続の代わりに第２レジスタ３４を使用することは、前記データが、第１レジスタ３２ａから２つのサブ部分３０２、３０３を各々通って伝播するのに必要な各々の期間に実質的に差がある場合、電力消費を減少させる。貫通接続の場合において、この差は、データが第１レジスタ３２ａから多入力論理ゲート３０７の各々の入力部に伝わるのに必要な期間に差があることによるものである。
したがって、多入力論理ゲート３０７のある入力部におけるデータ値の変化は、他の入力部におけるデータ値の変化の前に到達するかもしれない。この到達時間の差は、多入力論理ゲート３０７の出力部を、第１のデータ値の到達後で他のデータ値の到達前に中間値としてしまうほど大きいかもしれない。この場合において、多入力論理ゲート３０７の出力部は、２つの相互に打ち消し合う変化（グリッチ）を示す。各々の変化によって、前記回路はエネルギを消費するが、前記サイクルの終了において第４レジスタ３２ｂにラッチされた結果としてのデータにおける影響は、グリッチが生じない場合と同じである。
第２レジスタ３４を貫通接続と交換しない場合、前記データが第１レジスタ３２ａから２つのサブ部分３０２、３０３を経て伝播するのに必要な各々の期間の差の多入力論理ゲート３０７における影響は、取り除かれる。このために、（第２組み合わせ回路部分３０ｂの第１および第２サブ部分３０５、３０６によって生じる期間における差が、以前規定した意味において大きくないならば）この差はグリッチを引き起こさず、電力消費は減少する。
このために、電力消費を、レジスタを前記カスケードにおいて前記多入力論理ゲートの入力部の前に挿入し、伝達時間における差をなくすために、データをこれらの多入力論理ゲートを通ったデータ経路に沿って伝達できる１サイクル中に、データをこれらのレジスタにラッチすることによって、減少することができる。
もちろん、多入力論理ゲートを組み合わせ論理回路部分４０ａ−ｃの各々において使用してもよく、そうすれば電力消費は回路部分４０ａ−ｃの各々において節約される。さらに、図１および３は、間にレジスタを有する３つの組み合わせ論理回路部分を示すが、本発明は、この数に制限されず、これらの間に挿入された他のレジスタを有する前記組み合わせ論理回路部分のどのような数の追加の部分も使用することができる。これらのレジスタを、中間位相を有する前記クロックからの他の信号によって周期化する。これらのクロック信号の精確な位相は、連続するレジスタが、これらが前記カスケードの後段に行くにつれて遅れて周期化される限り、そして、前記サイクル中、前記データがあるレジスタから他のレジスタに伝播するための十分な時間が前記他のレジスタが周期化される前にある限り、重要ではない。
図４は、フィードバックループを含むパイプラインデータ処理回路の一部を示す。本回路は、前の図と一致させるために第４レジスタと呼ぶレジスタ４２ｄに結合された入力部を有する。第４レジスタ４２ｂの出力部を、第１組み合わせ論理回路４３を経て第１レジスタ４２ａに結合する。第１レジスタ４２ａの出力部を、第２組み合わせ論理回路部分４０ａを経て第２レジスタ４４の入力部に結合する。第２レジスタ４４の出力部を、第２組み合わせ論理回路部分４０ｂを経て第３レジスタ４６の入力部に結合する。前記第３レジスタの出力部を、第３組み合わせ論理回路部分４０ｃを経て第４レジスタ４２ｂの入力部に結合する。
レジスタ４２ａ−ｂ、４４、４６は、各々クロック入力部を有する。前記第１および第４レジスタを、クロック１８の第１出力部１８ａに結合する。第２および第３レジスタ４４、４６を、クロック１８の第２および第３出力部１８ｂ、１８ｃに各々結合する。
動作において、第１レジスタ４２ａから第４レジスタ４２ｂへのフィードバックループは、図１の状況において記述したカスケードとして動作し、各々のサイクルにおいて、データ標本は、第１レジスタ４２ａから第４レジスタ４２ｂに伝播し、サイクル毎に１回、データを第４レジスタ４２ｂにラッチする。前記サイクル中、データを第２および第３レジスタ４４、４６にラッチする。これは、１サイクルにおいてデータを前記第４レジスタにラッチする事実に影響を及ぼすことなく、電力消費を減少する。
安定したループを設計するという前記問題は、前記ループを回って伝わるのに必要なサイクルが増加するにつれてますます困難になる。データは、１サイクル中に、第４レジスタ４２ｂから組み合わせ論理回路４３を通って第１レジスタ４２ｂに伝播することができる。このように、データが図４におけるループを回って伝播するのに２サイクルが必要とされる。図４におけるループのように、数サイクルのみを必要とするループは、より容易に安定させることができる。
【図１】
0003776127.tif 000002
【図２】
0003776127.tif 000003
【図３】
0003776127.tif 000004
【図４】
0003776127.tif 000005