JP2004062281A - Pipeline processor and pipeline operation control method - Google Patents

Pipeline processor and pipeline operation control method Download PDF

Info

Publication number
JP2004062281A
JP2004062281A JP2002216309A JP2002216309A JP2004062281A JP 2004062281 A JP2004062281 A JP 2004062281A JP 2002216309 A JP2002216309 A JP 2002216309A JP 2002216309 A JP2002216309 A JP 2002216309A JP 2004062281 A JP2004062281 A JP 2004062281A
Authority
JP
Japan
Prior art keywords
pipeline
clock
stages
stage
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002216309A
Other languages
Japanese (ja)
Inventor
Etsushi Nakajima
中島 悦史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2002216309A priority Critical patent/JP2004062281A/en
Publication of JP2004062281A publication Critical patent/JP2004062281A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To vary the number of pipeline stages without increasing a circuit scale and dropping a highest operation frequency in a high speed clock. <P>SOLUTION: A pipeline processor is provided with pipeline stages 1, 2, 3, 4, 5 and 6 constituting a variable length pipeline operation circuit which is switched to six stages and three stages by the high speed and low speed clocks and with a control part 7 outputting a control signal SEL switching a system to correspond to an operation mode corresponding to a clock frequency in response to supply of a clock mode signal CM. The pipeline stages 1, 3 and 5 are provided with pipeline registers R1, R2 and R3 switched to a valid or invalid state in response to levels L/H of the control signal SEL. When the control signal SEL is in the L level, the registers R1, R2 and R3 are validated and the processor is operated as the pipeline processor of six stages. When it is in the H level, the registers R1, R2 and R3 are invalidated and the processor is operated as the pipeline processor of three stages. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はパイプライン演算処理装置及びパイプライン演算制御方法に関し、特に高速クロックと低速クロックで動作させるためパイプラインの段数を可変とするパイプライン演算処理装置及びパイプライン演算制御方法に関する。
【0002】
【従来の技術】
高速クロックと低速クロックで動作させるパイプライン演算処理装置は、高速クロック動作において、パイプライン段数を増加することにより、パイプラインの1ステージ毎の処理を低減するように構成することが一般的である。しかしながら、このような、パイプライン段数の増加は、分岐命令などによるパイプラインの停止や初期化によるペナルティによる実行効率の低下があり、これを抑えるために、分岐予測や先行実行といった、予測テーブルや実行命令の保持に高速なレジスタが必要で、消費電力が大きく回路が複雑な技術が一般的に不可欠ではある。
【0003】
しかし、近年、プロセッサの負荷が低下した場合における消費電力低減のため、クロック周波数を低速に可変する場合は、分岐予測や先行実行を用いずに、実行効率の低下を抑えて性能を維持することが要求されている。
【0004】
この要請に応えるために、例えば、特開平6−83583号公報記載の従来の第1のパイプライン演算処理装置は、動作クロック周波数の可変に応じてパイプラインの段数を可変可能にし、長いパイプライン構成による高速クロックの動作と、短いパイプライン構成による低速クロックの命令実行効率を両立させるというものである。
【0005】
従来の第1のパイプライン演算処理装置をブロックで示す図18を参照すると、この従来の第1のパイプライン演算処理装置は、入力側のラッチ回路512−1と、演算回路510−Aの出力をラッチするラッチ回路512−2と、演算回路510−Bの出力をラッチするラッチ回路512−3と、パイプラインの各ステージを構成する演算回路510−A,510−Bと、セレクト信号の供給に応じて動作するセレクタ514と、セレクト信号を発生するセレクト発生回路518とを備える。
【0006】
次に、図18を参照して、従来の第1のパイプライン演算処理装置の動作について説明すると、セレクト発生回路518は、クロック速度が高い場合はLレベルの、低い場合はHレベルのセレクト信号を発生する。セレクト信号がLレベルの場合、セレクタ514は、ラッチ回路512−2の出力を演算回路510−Bに接続し、演算回路510−Aと510−Bの間にラッチ回路512−2が介在した状態となる。セレクト信号がHレベルの場合、セレクタ514は、ラッチ回路512−2をリセットするとともに演算回路510−Aの出力を演算回路510−Bに接続し、ラッチ回路512−2をスルーした状態とする。クロック速度が低くその1周期内に演算回路510−Aと510−Bの両演算のの処理完了可能な場合に、ラッチ回路512−2を自動的にスルーでき処理速度を向上させる。
【0007】
また、特開平8−147163号記載の従来の第2のパイプライン演算処理装置をブロックで示す図19を参照すると、この従来の第2のパイプライン演算処理装置は、パイプラインの各ステージで命令に対する所定のデータ処理を行うデータ処理部613,614と、データ処理部613,614の各ステージに出力される処理内容を保持する複数のレジスタ615,617,619と、このレジスタ615,617,619をそれぞれバイパスするバイパス路を構成するマルチプレクサ616,618,620と、上記バイパス路によりレジスタ615,617,619中の該当レジスタをバイパスさせるようマルチプレクサ616,618,620を制御するコントローラ621とを備える。
【0008】
次に、図19を参照して、従来の第2のパイプライン演算処理装置の動作について説明すると、コントローラ621は、動作クロックの周波数が低クロック周波数モードとなったとき、あるいは、データ処理部613,614の各ステージでのデータ処理の流れを監視し、分岐命令実行時のようにその時点のレジスタ保持内容が次の単位処理時間も安定して保持される場合に、これを判定してマルチプレクサ616,618,620を制御し上記バイパス路によりレジスタ615,617,619中の該当レジスタをバイパスさせる。
【0009】
このように、構成することにより、処理性能を低下させることなくプロセッサで無駄に消費される電力を削減するとともに、バイパスしたレジスタのセットアップタイムの分だけ処理速度を向上できる。
【0010】
さらに、特開平9−319578号記載の従来の第3のパイプライン演算処理装置をブロックで示す図20を参照すると、この従来の第3のパイプライン演算処理装置であるデータ処理71は、命令フエッチ回路711と、命令解読回路712と、命令実行回路713と、高速ピッチフラグ714とを備え、パイプライン処理の段数がこの例では3段又は4段とに可変となっている。命令解読回路712のパイプライン制御回路7121は、命令実行回路713のパイプライン段数を切り替える。この構成により、4段パイプライン処理では動作クロックの上限を向上させることができ、従って、処理速度を高速化できる。一方、低速クロックで足りる用途では、分岐インタロックによるペナルティが少ない3段パイプライン処理を利用できる。
【0011】
上述したように、従来の第1〜第3のパイプライン演算処理装置は、パイプライン段数を可変する動作モードの数だけパイプラインを設けてパイプラインを切替えるか、又は、パイプラインレジスタにバイパス回路を設けて、パイプラインレジスタの出力とバイパス回路の出力をマルチプレクサで受けて出力を選択するという動作を行っている。
【0012】
その結果、可変する動作動作モードの数だけパイプラインを設けるか、あるいは、パイプラインレジスタにバイパス回路を設ける必要があるため、回路規模が増加する。
【0013】
また、パイプラインレジスタにバイパス回路を設ける場合には、マルチプレクサがパイプラインレジスタ毎に必要となっているため、パイプライン段数が非可変(固定)の場合に比べ、回路規模が増加し、さらに、マルチプレクサによりパイプラインステージのゲート段数が増加し、高速クロックでの最高動作周波数が低下するという問題もある。
【0014】
【発明が解決しようとする課題】
上述した従来のパイプライン演算処理装置及びパイプライン演算制御方法は、パイプライン段数を可変する動作モードの数だけパイプラインを設けてパイプラインを切替えるか、または、パイプラインレジスタにバイパス回路を設けて、パイプラインレジスタの出力とバイパス回路の出力をマルチプレクサで受けて出力を選択するという動作を行っているため、可変する動作モードの数だけパイプラインを設けるか、あるいは、パイプラインレジスタにバイパス回路を設ける必要があるため、回路規模が増加するという欠点があった。
【0015】
また、パイプラインレジスタにバイパス回路を設ける場合には、マルチプレクサがパイプラインレジスタ毎に必要となっているため、パイプライン段数が非可変(固定)の場合に比べ、回路規模が増加し、さらに、マルチプレクサによりパイプラインステージのゲート段数が増加し、高速クロックでの最高動作周波数が低下するという欠点があった。
【0016】
本発明の目的は、回路規模の増加や、高速クロックでの最高動作周波数の低下を起こすことなくパイプライン段数を可変するパイプライン演算処理装置及びパイプライン演算制御方法を提供することにある。

【0017】
【課題を解決するための手段】
請求項1記載の発明のパイプライン演算処理装置は、各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記高速クロック信号のとき、前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタの全てを前記演算データの記憶動作を行わせることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、前記低速クロック信号のとき、前記第1の段数のパイプラインステージのうちの前記第2の段数のパイプラインステージの前記パイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける前記演算データの記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算装置として動作させることを特徴とするものである。
【0018】
また、請求項2記載の発明は、請求項1記載のパイプライン演算処理装置において、前記第1の段数が前記第2の段数の2倍であり、前記第3の段数が前記第2の段数と等しいことを特徴とするものである。
【0019】
請求項3記載の発明のパイプライン演算処理装置は、各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記クロックモード信号対応の切替制御信号の供給に応じて前記演算データの記憶動作の実行及び停止のいずれか一方の状態に切替られる切替機能を持つ前記第1のパイプラインレジスタを備える前記第2の段数の第1のパイプラインステージと、
前記切替機能を持たない前記第2のパイプラインレジスタを備える前記第2の段数の第2のパイプラインステージと、
前記クロックモード信号の制御に応答して前記切替制御信号を出力する制御部とを備え、
前記第1及び第2のパイプラインステージを縦続接続して成るパイプラインステージの組を縦続接続し、
前記クロックモード信号が前記高速クロック信号を指定したとき、前記第1のパイプラインレジスタの前記記憶動作を実行させることにより有効として前記第2のパイプラインステージと併せて前記第2の段数の2倍に相当する前記第1の段数のパイプライン演算処理装置として動作させ、
前記クロックモード信号が前記低速クロック信号を指定したとき、前記第1のパイプラインレジスタの前記記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算処理装置として動作させることを特徴とするものである。
【0020】
また、請求項4記載の発明は、請求項3記載のパイプライン演算処理装置において、前記第1のパイプラインレジスタが、前記切替制御信号の第1のレベルに応じて入力データを保持するDフリップフロップとして動作し、前記切替制御信号の第2のレベルに応じて前記入力データを保持せずそのままスルーさせるスルー動作を行うスルー動作モード付Dフリップフロップを備えて構成されている。
【0021】
また、請求項5記載の発明は、請求項3記載のパイプライン演算処理装置において、前記第1のパイプラインレジスタが、縦続接続され一方のクロック入力端に逆相のクロックが入力される第1及び第2のDラッチを備え、
前記制御部が、前記クロックモード信号の制御に応答して切替制御信号を出力する制御回路と、
前記クロック信号を反転し反転クロック信号を出力するインバータと、
前記切替制御信号と前記反転クロック信号とのOR論理をとりマスク反転クロック信号を前記第1のDラッチのクロック入力端に供給する第1のOR回路と、前記切替制御信号と前記クロック信号とのOR論理をとりマスククロック信号を前記第2のDラッチのクロック入力端に供給する第2のOR回路とを備え、
前記第1及び第2のDラッチが、前記切替制御信号の第1のレベルに応じて入力データを保持するDフリップフロップとして動作し、前記切替制御信号の第2のレベルに応じて前記入力データを保持せずそのままスルーさせるスルー動作を行うスルー動作モード付Dフリップフロップとして動作することを特徴とするものである。
【0022】
また、請求項6記載の発明は、請求項4記載のパイプライン演算処理装置において、前記スルー動作モード付Dフリップフロップが、縦続接続され一方のクロック入力端に逆相のクロックが入力される第1及び第2のDラッチと、
クロック信号を反転し反転クロック信号を出力するインバータと、
前記切替制御信号と前記反転クロック信号とのOR論理をとりマスク反転クロック信号を前記第1のDラッチのクロック入力端に供給する第1のOR回路と、前記切替制御信号と前記クロック信号とのOR論理をとりマスククロック信号を前記第2のDラッチのクロック入力端に供給する第2のOR回路とを備えて構成されている。
【0023】
請求項7記載の発明のパイプライン演算処理装置は、各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記クロックモード信号の制御に応答して前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタを独立に制御する前記第1の段数分の独立切替制御信号を出力する切替制御部を備え、
前記第1の段数のパイプラインステージの各々が、前記独立切替制御信号の供給に応じて前記演算データの記憶動作の実行及び停止のいずれか一方の状態に切替られる切替機能を持つ前記パイプラインレジスタを備え、
前記クロックモード信号が前記高速クロック信号を指定したとき、前記パイプラインレジスタの前記記憶動作を実行させることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、
前記クロックモード信号が前記低速クロック信号を指定したとき、予め指定した前記第2の段数の前記パイプラインステージ以外の前記パイプラインステージの前記パイプラインレジスタの前記記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算処理装置として動作させることを特徴とするものである。
【0024】
また、請求項8記載の発明は、請求項7記載のパイプライン演算処理装置において、システムクロック信号の供給に応答して前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタにそれぞれ独立のクロック信号を供給するクロック制御部を備えて構成されている。
【0025】
請求項9記載の発明のパイプライン演算制御方法は、各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成され高周波数(速度)の第1及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算制御方法において、
前記高速クロック信号である高速クロックモードのとき、前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタの全てを前記演算データの記憶動作を行わせることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、
前記低速クロック信号である低速クロックモードのとき、前記第1の段数のパイプラインステージのうちの前記第2の段数のパイプラインステージの前記パイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける前記演算データの記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算装置として動作させることを特徴とするものである。
【0026】
また、請求項10記載の発明は、請求項9記載のパイプライン演算制御方法において、第1の時間に前記高速クロックモードから前記低速クロックモードに変更するとき、前記第1の時間の直前の第0の時間まで前記高速クロックモードで動作し、前記第1の段数のパイプライン演算処理装置として動作し、
前記第1の時間に前記パイプラインレジスタに供給されるクロック周波数を前記低速クロックに切り替え、新規の命令の取り込みを停止し、
前記命令取り込み停止時点での残余の前記命令を前記低速モードで実行し、全て終了した時点の次の第2の時間から前記低速クロックモードの動作を開始して新規命令を取り込み前記第2の段数のパイプライン演算処理装置として動作することを特徴とするものである。
【0027】
また、請求項11記載の発明は、請求項9記載のパイプライン演算制御方法において、前記第1の時間に前記クロックモードが変更された時に、前記クロック周波数を前記低速クロックに切り替えず、前記残余の前記命令を前記高速クロックモードで実行し、全て終了した時点の次の第3の時間に前記クロック周波数を前記低速クロックに切り替えて前記低速クロックモードの動作を開始することを特徴とするものである。
【0028】
また、請求項12記載の発明は、請求項9記載のパイプライン演算制御方法において、前記第0の時間まで前記高速クロックモードで動作し、前記第1の段数のパイプライン演算処理装置として動作し、
前記第1の時間に前記パイプラインレジスタに供給されるクロック周波数を前記低速クロックに切り替え、新規命令の取り込みを中断し、
前記第1の時間の次の第3の時間に新規命令を取り込みを再開し、
前記第3の時間の次の第4の時間に新規命令を取り込みを中断し、
前記第4の時間の次の第5の時間に新規命令を取り込みを再開し、
前記第5の時間の次の次の第6の時間に前記クロック周波数を前記低速クロックに切り替えて前記低速クロックモードの動作を開始することを特徴とするものである。
【0029】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0030】
本実施の形態のパイプライン演算処理装置及びパイプライン演算制御方法は、各々が所定の演算処理を実行する演算部と、上記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう上記パイプラインステージの段数を前記高速クロック信号対応の上記第1の段数と上記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、上記高速クロック信号のとき、上記第1の段数のパイプラインステージの各々の上記パイプラインレジスタの全てを上記演算データの記憶動作を行わせることにより有効として上記第1の段数のパイプライン演算処理装置として動作させ、上記低速クロック信号のとき、上記第1の段数のパイプラインステージのうちの上記第2の段数のパイプラインステージのパイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける上記演算データの記憶動作を停止させることにより無効として上記第2の段数のパイプライン演算装置として動作させることを特徴とするものである。
【0031】
次に、本発明の実施の形態をブロックで示す図1を参照すると、この図に示す本実施の形態のパイプライン演算処理装置は、説明の便宜上、2種類の動作周波数により6段及び3段に切り替わる可変長パイプライン演算回路を構成するパイプラインステージ1,2,3,4,5,6と、クロックモード信号CMの供給に応答してクロック周波数対応の動作モードに対応する構成(コンフィギュレーション)に切り替えるための制御信号SELを出力する制御部7とを備える。
【0032】
パイプラインステージ1は、演算部S1と、パイプラインが処理するビット幅のパイプラインレジスタR1とを備える。
【0033】
パイプラインステージ2は、演算部S2と、パイプラインが処理するビット幅のパイプラインレジスタR2とを備える。
【0034】
パイプラインステージ3は、演算部S3と、パイプラインが処理するビット幅のパイプラインレジスタR3とを備える。
【0035】
パイプラインステージ4は、演算部S4と、パイプラインが処理するビット幅のパイプラインレジスタR4とを備える。
【0036】
パイプラインステージ5は、演算部S5と、パイプラインが処理するビット幅のパイプラインレジスタR5とを備える。
【0037】
パイプラインステージ6は、演算部S6と、パイプラインが処理するビット幅のパイプラインレジスタR6とを備える。
【0038】
制御部7は、パイプラインステージ1,3,5の各々のパイプラインレジスタR1,R3,R5に制御信号SELを供給し、これらパイプラインレジスタR1,R3,R5の各々は、制御信号SELの供給に応答して有効又は無効(スルー)状態に切り替える。
【0039】
本実施の形態では後述するように、クロックモード信号CMのLレベル対応の高数周波数(以下高速)クロックの場合は、制御信号SELをLレベルとし、この制御信号SELのLレベルに応答してパイプラインレジスタR1,R3,R5の各々が有効となり、パイプラインステージ1,2,3,4,5,6から成る6段のパイプライン演算処理回路を構成する。一方、クロックモード信号CMのHレベル対応の低数周波数(以下低速)クロックの場合は、制御信号SELをHレベルとし、この制御信号SELのHレベルに応答してパイプラインレジスタR1,R3,R5の各々がスルーすなわち、無効となり、パイプラインステージ1と2、3と4、5と6の各々がそれぞれ1段のパイプラインステージとして動作する3段のパイプライン演算処理回路を構成する。
【0040】
パイプラインレジスタR1,R3,R5は、上記動作を行うためのスルー動作モードを有するDフリップフロップで構成される。パイプラインレジスタR1,R3,R5を代表してパイプラインレジスタR1の詳細をブロックで示す図2を参照すると、この図では説明の便宜上1ビット分の構成を示し、縦続接続され一方のクロック入力端に逆相のクロックが入力される2つのDラッチL1,L2と、クロック信号CLKを反転し反転クロック信号を出力するインバータN1と、制御部7から供給される制御信号SELと反転クロック信号とのOR論理をとりマスク反転クロック信号MCBをDラッチL1のクロック入力端に供給するOR回路O1と、制御信号SELとクロック信号CLKとのOR論理をとりマスククロック信号MCをDラッチL2のクロック入力端に供給するOR回路O2とを備える。
【0041】
パイプラインレジスタR2,R4,R6は、公知の通常のDフリップフロップで構成される。
【0042】
次に、図1及び図2を参照して本実施の形態の動作について説明すると、パイプラインステージ1,2,3,4,5,6の各パイプラインステージに入力されたデータは、それら各ステージの演算部S1,S2,S3,S4,S5,S6の各々に供給され演算処理を行い、各ステージのパイプラインレジスタR1,R2,R3,R4,R5,R6の各々に記憶され次のデータを待つ。
【0043】
このようなパイプライン演算装置の一般的な動作そのものは、当業者にとってよく知られており、その詳細な説明は省略する。
【0044】
制御部7は、上述したように、使用するクロック周波数(速度)に応じて設定されるクロックモード信号CM対応の制御信号SELのレベルに応じてパイプラインステージの段数を切り替える。すなわち、制御信号SELをパイプラインステージ1,3,5の各々のパイプラインレジスタR1,R3,R5に供給し、これらパイプラインレジスタR1,R3,R5の各々は、制御信号SELのレベルL/Hに応答して有効又は無効(スルー)状態に切り替える。
【0045】
まず、高速クロックの場合は、クロックモード信号CMのレベルはLレベルであり、対応する制御信号SELのレベルもLレベルとなる。この制御信号SELのLレベルに応答してパイプラインレジスタR1,R3,R5の各々が有効となり、パイプラインステージ1,2,3,4,5,6から成る6段のパイプライン演算処理回路を構成する。
【0046】
次に、低速クロックの場合は、クロックモード信号CMのレベルはHレベルであり、対応する制御信号SELのレベルもHレベルとなる。この制御信号SELのHレベルに応答してパイプラインレジスタR1,R3,R5の各々が無効、すなわち、スルー状態となる。これにより、パイプラインステージ1と2、3と4、5と6の各々がそれぞれ1段のパイプラインステージ1+2,3+4,5+6を構成する。
【0047】
このようにして、高速クロックの場合は、入力データDIを、パイプラインステージ1,2,3,4,5,6から成る6段のパイプライン演算処理回路によりそれぞれ処理し、出力データDOとして出力する。一方、低速クロックの場合は、パイプラインステージ1+2,3+4,5+6から成る3段のパイプライン演算処理回路によりそれぞれ処理し、出力データDOとして出力する。
【0048】
次に、図2を参照してパイプラインレジスタR1,R3,R5を代表してパイプラインレジスタR1の動作について説明すると(説明の便宜上1ビット分の動作について説明)、まず、高速クロック動作の場合、制御信号SELがLレベルに設定される。DラッチL1は、クロック入力端に接続されたOR回路O1の一方の入力端には制御信号SELが供給され、他方の入力端にはインバータN1でクロック信号CLKを反転した反転クロック信号が供給され、両者のOR論理であるマスク反転クロック信号MCBの供給を受ける。従ってDラッチL1はクロック信号CLKのHレベルからLレベルへの遷移タイミング、すなわち、立ち下がり前縁で入力のD信号を取り込み次のクロック信号CLKの立ち下がり前縁で出力Q信号を出力する。一方、DラッチL2は、クロック入力端に接続されたOR回路O2の一方の入力端には制御信号SELが供給され、他方の入力端にはクロック信号CLKが供給され、両者のOR論理であるマスク反転クロック信号MCの供給を受ける。従ってDラッチL2は、クロック信号CLKの立ち上がり前縁でDラッチL1の出力Q信号である入力のD信号を取り込み次のクロック信号CLKの立ち上がり前縁で出力Q信号を出力する。すなわち、DラッチL1,L2により通常のDフリップフロップの動作を行う。すなわち、パイプラインレジスタとして有効となり、入力データを保持する。
【0049】
次に、低速クロック動作の場合、制御信号SELがHレベルに設定される。OR回路O1の一方の入力端の制御信号SELがHレベルであり、従って、他方の入力端の反転クロック信号のレベルと無関係にHレベルのマスク反転クロック信号MCBDをラッチL1に供給する。従ってDラッチL1はDラッチとして動作せず、入力データをそのまま出力データとして出力する、すなわち、スルー状態となる。また、DラッチL2もOR回路O2の一方の入力端の制御信号SELがHレベルであり、従って、他方の入力端のクロック信号CLKのレベルと無関係にHレベルのマスククロック信号MCをラッチL2に供給する。従ってDラッチL2もDラッチとして動作せず、スルー状態となる。この結果、DラッチL1,L2で構成するパイプラインレジスタR1は無効化され、すなわち、データの記憶動作を行わないでスルーする。
【0050】
次に、本実施の形態のクロックモードが高速クロックである場合におけるクロック、命令及び各ステージの処理状態をタイムチャートで示す図3を併せて参照して本実施の形態の高速クロック動作の詳細について説明すると、この場合は6段のパイプライン構成の動作であるので、上述したように、クロックモード信号CMをLレベル、従って制御信号SELをLレベルとすることによりパイプラインレジスタR1,R3,R5の各々を有効として、パイプラインステージ1,2,3,4,5,6から成る6段のパイプライン演算処理回路を構成する。これらパイプラインステージ1,2,3,4,5,6は、図示のように、それぞれ、時間Tの進行に従って各クロック周期ごとに命令1〜6に従い各パイプラインステージに割り当てた処理(括弧内に示す)IF1,IF2,ID1,ID2,EX1,EX2の各処理を順次実行する。なお、処理IFは命令フエッチ、処理IDは命令デコード、処理EXは命令実行をそれぞれ表す。
【0051】
すなわち、時間T1において、パイプラインステージ1は命令1に従い処理IF1を実行し、パイプラインステージ2〜6は待機状態である。時間T2で、パイプラインステージ1は命令2に従い処理IF1を実行し、パイプラインステージ2は命令1に従い処理IF2を実行し、パイプラインステージ3〜6は待機状態である。以下時間T3・・T6で、パイプラインステージ3〜6は、命令1に従い順次処理ID1,ID2,EX1,EX2の各々を実行する。命令2に対しては、時間T2からパイプラインステージ1の処理IF1を実行し、時間T7でパイプラインステージ6の処理EX2を実行する。
【0052】
同様に、命令3〜6に対し、時間T3〜T6でパイプラインステージ1の処理IF1を実行し、時間T8〜T11でパイプラインステージ6の処理EX2を実行する。この例では時間T6のとき、命令6〜1に対する全てのパイプラインステージ1〜6の処理IF1,IF2,ID1,ID2,EX1,EX2が実行中である。
【0053】
次に、本実施の形態のクロックモードが低速クロックである場合におけるクロック、命令及び各ステージの処理状態をタイムチャートで示す図4を併せて参照して本実施の形態の低速クロック動作の詳細について説明すると、この場合は、説明の便宜上クロック周波数を高速クロックの1/2とする3段のパイプライン構成の動作であるので、上述したように、クロックモード信号CMをHレベル、従って制御信号SELをHレベルとすることによりパイプラインレジスタR1,R3,R5の各々をスルー(無効)として、パイプラインステージ1+2,3+4,5+6から成る3段のパイプライン演算処理回路を構成する。これらパイプラインステージ1+2,3+4,5+6の各々は、図示のように、それぞれ、時間Tの進行に従って処理IF1+IF2,ID1+ID2,EX1+EX2の各処理を順次実行する。
【0054】
すなわち、時間T1+T2において、パイプラインステージ1+2は命令1に従い処理IF1+IF2を実行し、パイプラインステージ3+4,5+6は待機状態である。時間T3+T4で、パイプラインステージ1+2は命令2に従い処理IF1+IF2を実行し、パイプラインステージ3+4は命令1に従い処理ID1+ID2を実行し、パイプラインステージ5+6は待機状態である。次に、時間T5+T6で、パイプラインステージ1+2は命令3に従い処理IF1+IF2を実行し、パイプラインステージ3+4は命令2に従い処理ID1+ID2を実行し、パイプラインステージ5+6は命令1に従い処理EX1+EX2を実行する。以下命令4〜6では以上の動作を繰り返す。
【0055】
次に、クロックモードが高速クロックから低速クロックへの切替中におけるクロック、命令及び各ステージの処理状態をタイムチャートで示す図5を併せて参照して本実施の形態の高速クロックから低速クロックへの第1の切り替え方法である第1のパイプライン演算制御方法の動作について説明すると、ここでは説明の便宜上、時間T7にクロックモードを変更するものとする。まず、時間T6まで、図3に示した高速動作と同様、6段のパイプライン構成で動作する。次に、時間T7に、クロックモードが変更され、パイプラインレジスタに入力されるクロックが高速クロックから低速クロックに切り替わり、新しい命令の取り込みを停止する。取り込み済みの命令を6段のパイプライン構成のまま、1クロックが2時間T分である新しい低速クロックで処理を行う。従ってこの例では、残り5段のパイプライン分の命令処理に5クロック分、すなわち、10T分必要であり、時間T16までかかる。
【0056】
時間T16に、パイプラインで処理中の命令が全て終了する。
【0057】
時間T17から、図4で示した低速クロック動作と同様、3段のパイプライン構成で動作し、新しい命令の取り込みを再開する。
【0058】
また、本実施の形態のパイプライン演算装置における高速クロックから低速クロックへの第2の切り替え方法である第2のパイプライン演算制御方法における高速クロックから低速クロックへの変更中の動作をタイムチャートで示す図6を参照すると、時間T7にクロックモードが変更された時に、上述のパイプライン演算制御方法のように、同時にレジスタに入力されるクロック周波数の切り替えを行わず、実際にパイプライン段数を切り替えるT12まで、レジスタに入力されるクロック周波数の切り替えを遅らせることにより、切り替え所要時間を短縮することが出来る。
【0059】
さらに、本実施の形態のパイプライン演算装置における高速クロックから低速クロックへの第3の切り替え方法である第3のパイプライン演算制御方法における高速クロックから低速クロックへの変更中の動作をタイムチャートで示す図7を参照すると、ここでは、新しい命令の取り込みを行うタイミングについて工夫することにより、下記の動作を行う。
【0060】
時間T6まで、高速動作と同様、6段のパイプライン構成で動作する。次に、時間T7に、クロックモードが変更され、新しい命令の取り込みを中断する。時間T8に、新しい命令の取り込みを再開する。時間T9に、新しい命令の取り込みを中断する。時間T10に、新しい命令の取り込みを再開する。
【0061】
時間T12から、低速クロック動作と同様、レジスタに入力されるクロック周波数の切り替えを行い、3段のパイプライン構成で動作する。
【0062】
すなわち、パイプラインで処理中の命令が全て終了するまで新しい命令の取り込みを停止し、処理中の命令が終了してから、段数を切り替えるレジスタの有効化または無効化を行うかわりに、クロックモードに応じて、新しい命令の取り込みを中断しながら行うという方法を用いる。
【0063】
次に、クロックモードが低速クロックから高速クロックへの変更中におけるクロック、命令及び各ステージの処理状態をタイムチャートで示す図8を併せて参照して本実施の形態の低速クロックから高速クロックへの変更中の動作について説明すると、ここでは説明の便宜上、時間T14にクロックモードを変更するものとする。まず、時間T12まで、低速動作と同様、3段のパイプライン構成で動作する。次に、時間T14に、クロックモードが変更され、レジスタに入力されるクロック周波数が切り替わり、新しい命令の取り込みを停止する。
【0064】
時間T19に、パイプラインで処理中の命令が全て終了する。
【0065】
時間T20から、高速クロック動作と同様、6段のパイプライン構成で動作し、新しい命令の取り込みを再開する。
【0066】
上述したように、本実施の形態では、高速クロックから低速クロックへの変更では、パイプラインで処理中の全ての命令が終了するのを待つことなく、パイプライン段数を切り替えられる。
【0067】
このように、従来のバイパス回路を用いた技術と異なり、パイプライン構成の段数にかかわらず同一経路でデータを処理しているので、バイパス回路の出力とパイプランレジスタの出力を選択するマルチプレクサが不要となる。
【0068】
従って、パイプライン段数の切り替えを行うステージのゲート段数が増加しないため、高速クロック動作での最高動作周波数の低下を回避することができる。
【0069】
さらに、従来のバイパス回路を用いた技術が、各パイプラインレジスタ毎にマルチプレクサが必要であるのに対して、パイプラインレジスタのクロック入力のみを制御する構成となっているので、回路規模を小さくすることができる。
【0070】
次に、本発明の第2の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図9を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、パイプラインステージ2,4,6に代わるパイプラインステージ2A,4A,6Aの各々がパイプラインレジスタR2,R4,R6の代わりにパイプラインレジスタR1,R3、R5と同様のスルー動作モードを持つパイプラインレジスタR2A,R4A,R6Aを備え、制御部7の代わりに、クロックモード信号CMの供給に応答してパイプラインステージ1,2,3,4,5,6の各々のパイプラインレジスタR1,R2A,R3,R4A,R5,R6Aの各々の各パイプラインステージを個別に制御する独立の制御信号SEL1,SEL2,SEL3,SEL4,SEL5,SEL6の各々を供給する制御部7Aを備えることである。
【0071】
本実施の形態の高速クロックから低速クロックへの第1の切り替え方法である第4のパイプライン演算制御方法における高速クロックから低速クロックへの変更中の動作をタイムチャートで示す図10を参照すると、まず、第1の実施の形態と同様に時間T7にクロックモードを変更するものとすると、時間T6まで、第1の実施の形態の高速動作と同様、6段のパイプライン構成で動作する。次に、時間T7に、クロックモードが変更され、パイプラインレジスタに入力されるクロック周波数が切り替わり、新しい命令の取り込みを停止する。
【0072】
時間T13に、新しい命令の取り込みを再開し、すでに実行中の高速クロック動作の命令は6段のパイプライン構成で動作するが、新しく取り込んだ命令は3段のパイプライン構成で動作する。時間T17から、第1の実施の形態の低速クロック動作と同様、3段のパイプライン構成で動作する。
【0073】
すなわち、段数が切り替わるパイプラインステージのうち処理が終了したパイプラインステージから段数切り替え用のパイプラインレジスタの有効化または無効化を行う。
【0074】
このように、本実施の形態では、全てのパイプラインステージがスルー動作モードを持つDフリップフロップで構成され、その各々がパイプラインレジスタとして有効かどうかが決定されるため、処理が終了したパイプラインステージから順次パイプラインの段数の切り替えを可能としている。
【0075】
また、本実施の形態の高速クロックから低速クロックへの変更中のパイプラインの段数の切り替え方法の変形である第2の切り替え方法である第5のパイプライン演算制御方法における高速クロックから低速クロックへの変更中の動作をタイムチャートで示すタイムチャートで示す図11を参照すると、クロックモード信号CMに対応しパイプラインレジスタに供給するクロック周波数の切り替え用の制御信号SELを、実際にパイプライン段数を切り替えるまで遅らせて、切り替え所要時間を短縮することも出来る。
【0076】
本実施の形態の低速クロックから高速クロックへの変更中の動作をタイムチャートで示す図12を参照すると、まず、時間T14まで、第1の実施の形態の低速クロック動作と同様、3段のパイプライン構成で動作する。時間T16に、クロックモードが変更される。時間T18に、すでに実行中の命令は3段のパイプライン構成で動作するが、新しく取り込んだ命令は6段のパイプライン構成で動作する。時間T22から、第1の実施の形態の高速クロック動作と同様、パイプラインレジスタに入力されるクロック周波数が切り替わり6段のパイプライン構成で動作する。
【0077】
このように、本実施の形態では、パイプラインで処理中の全ての命令が終了するのを待つことなく、さらに、連続して次の命令を取り込みながら、パイプライン段数を切り替えられる。
【0078】
さらに、クロックモードとして多数のクロック周波数動作を持つ場合にも、パイプライン段数を任意の段数に変更することができるので、どのクロックモードでも、無駄のない命令実行効率が得られるという相乗的効果を奏する。
【0079】
次に、本発明の第3の実施の形態を図9と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図13を参照すると、この図に示す本実施の形態の前述の第2の実施の形態との相違点は、制御部7Aに加えてシステムのクロックCLKの供給に応答してパイプラインステージ1,2A,3,4A,5,6Aの各々のパイプラインレジスタR1,R2A,R3,R4A,R5,R6Aに対し各々の独立のクロック信号CLK1,CLK2,CLK3,CLK4,CLK5,CLK6を供給する制御部8を備えることである。
【0080】
上述の第1及び第2の実施の形態では、クロックモードの変更に対してパイプラインの切り替え所要時間を短縮するという効果を、各パイプラインステージのパイプラインレジスタに共通の入力クロックを使用し、次の命令の取り込みの判断とパイプライン段数の切り替えタイミングにより得ているが、本実施の形態では、個別のタイミングのクロックを入力することで達成できる。
【0081】
本実施の形態の高速クロックから低速クロックへの切り替え方法である第6のパイプライン演算制御方法における高速クロックから低速クロックへの変更中の動作をタイムチャートで示す図14を参照すると、まず、第1及び第2の実施の形態と同様に時間T7にクロックモードを変更するものとすると、時間T6まで、第1の実施の形態の高速動作と同様、同一の高速クロック周波数で6段のパイプライン構成で動作する。次に、時間T7に、クロックモードが変更され、パイプラインレジスタに入力されるクロック周波数が切り替わり、新しい命令の取り込みを停止する。
【0082】
時間T8に、新しい命令の取り込みを再開し、すでに実行中の高速クロック動作の命令はパイプラインレジスタに供給されるクロック周波数を切り替えずに6段のパイプライン構成で動作するが、新しく取り込んだ命令は供給されるクロック周波数を切り替えて3段のパイプライン構成で動作する。
【0083】
時間T12から、第1の実施の形態の低速クロック動作と同様、同一の低速クロック周波数で3段のパイプライン構成で動作する。
【0084】
次に、低速クロックから高速速クロックへの変更中の動作をタイムチャートで示す図15を参照すると、時間T12まで、同一の低速クロック周波数で3段のパイプライン構成で動作する。時間T14に、クロックモードが変更される。時間T16に、すでに実行中の命令はパイプラインレジスタに供給されるクロック周波数を切り替えずに3段のパイプライン構成で動作するが、新しく取り込んだ命令は供給されるクロック周波数を切り替えて6段のパイプライン構成で動作する。時間T20から、同一の高速クロック周波数で6段のパイプライン構成で動作する。
【0085】
すなわち、本実施の形態では、同時に異なる周波数のクロック信号でパイプライン処理を実行しながら、パイプライン段数を切り替える動作が得られ、本発明の目的が達成される。
【0086】
次に、本発明の第4の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図16を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、パイプラインステージ1,3,5の代わりにパイプラインステージ1B,3B,5Bを備え、これらパイプラインステージ1B,3B,5Bの各々がスルー動作モードを持つDフリップフロップで構成したパイプラインレジスタR1,R3,R5の各々の代わりにDラッチのみで構成したパイプラインレジスタR1B,R3B,R5Bを備え、制御部7の代わりに制御信号SELによるクロックマスク機能を有する制御部7Bを備えることである。
【0087】
パイプラインレジスタR1B,R3B,R5Bを代表してパイプラインレジスタR1B及び制御部7Bの構成をブロックで示す図17を参照すると、この図では説明の便宜上1ビット分の構成を示したパイプラインレジスタR1Bは、縦続接続され一方のクロック入力端に逆相のクロックが入力される2つのDラッチL1,L2を備え、制御部7Bは、第1の実施の形態の制御部7と同一機能、すなわち、クロックモード信号CMの供給に応答して制御信号SELを出力する制御回路71と、クロック信号CLKを反転し反転クロック信号を出力するインバータN1と、制御信号SELと反転クロック信号とのOR論理をとりマスク反転クロック信号MCBをDラッチL1のクロック入力端に供給するOR回路O1と、制御信号SELとクロック信号CLKとのOR論理をとりマスククロック信号MCをDラッチL2のクロック入力端に供給するOR回路O2とを備える。
【0088】
従って、本実施の形態のパイプラインレジスタR1Bの2つのDラッチL1,L2と、制御部7BのOR回路O1,O2及びインバータN1は第1の実施の形態のパイプラインレジスタR1と実質的に同じDフリップフロップを構成する。従って、本実施の形態の動作は、第1の実施の形態の動作と同一となる。
【0089】
本実施の形態では、上述したように、制御部7Bに、パイプラインレジスタR1B,R3B,R5BのDラッチに供給するクロックのマスク回路を1つにまとめて備える構成とすることが可能となるので、さらに回路規模を縮小できるという効果がある。
【0090】
【発明の効果】
以上説明したように、本発明のパイプライン演算処理装置及びパイプライン演算制御方法は、高速クロック信号のとき、第1の段数のパイプラインステージの各々のパイプラインレジスタの全てを上記演算データの記憶動作を行わせることにより有効として第1の段数のパイプライン演算処理装置として動作させ、低速クロック信号のとき、上記第1の段数のパイプラインステージのうちの第2の段数のパイプラインステージのパイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける演算データの記憶動作を停止させることにより無効として上記第2の段数のパイプライン演算装置として動作させることにより、パイプライン構成の段数にかかわらず同じ経路でデータを処理しているので、バイパス回路の出力とパイプランレジスタの出力を選択するマルチプレクサが不要となり回路規模の増大を抑制できるという効果がある。
【0091】
また、パイプライン段数の切り替えを行うステージのゲート段数が増加しないため、高速クロック動作での最高動作周波数の低下を回避することができるという効果がある。
【0092】
さらに、パイプラインレジスタのクロック入力のみを制御する構成となっているので、回路規模を小さくすることもできるという効果がある。
【図面の簡単な説明】
【図1】本発明のパイプライン演算処理装置の第1の実施の形態を示すブロック図である。
【図2】図1のパイプラインレジスタR1の構成を示すブロック図である。
【図3】本実施の形態のパイプライン演算処理装置における動作の一例を示す高クロック速度動作のタイムチャートである。
【図4】本実施の形態のパイプライン演算処理装置における動作の一例を示す低クロック速度動作のタイムチャートである。
【図5】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への切り替え方法である第1のパイプライン演算制御方法を示すタイムチャートである。
【図6】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への第2の切り替え方法である第2のパイプライン演算制御方法を示すタイムチャートである。
【図7】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への第3の切り替え方法である第3のパイプライン演算制御方法を示すタイムチャートである。
【図8】本実施の形態のパイプライン演算処理装置における低クロック速度動作から高クロック動作への切り替え方法を示すを示すタイムチャートである。
【図9】本発明のパイプライン演算処理装置の第2の実施の形態を示すブロック図である。
【図10】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への第1の切り替え方法である第4のパイプライン演算制御方法を示すタイムチャートである。
【図11】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への第2の切り替え方法である第5のパイプライン演算制御方法を示すタイムチャートである。
【図12】本実施の形態のパイプライン演算処理装置における低クロック速度動作から高クロック動作への切り替え方法を示すを示すタイムチャートである。
【図13】本発明のパイプライン演算処理装置の第3の実施の形態を示すブロック図である。
【図14】本実施の形態のパイプライン演算処理装置における高クロック速度動作から低クロック動作への切り替え方法である第6のパイプライン演算制御方法を示すタイムチャートである。
【図15】本実施の形態のパイプライン演算処理装置における低クロック速度動作から高クロック動作への切り替え方法を示すを示すタイムチャートである。
【図16】本発明のパイプライン演算処理装置の第4の実施の形態を示すブロック図である。
【図17】図16のパイプラインレジスタR1の構成を示すブロック図である。
【図18】従来の第1のパイプライン演算処理装置の一例を示すブロック図である。
【図19】従来の第2のパイプライン演算処理装置の一例を示すブロック図である。
【図20】従来の第3のパイプライン演算処理装置の一例を示すブロック図である。
【符号の説明】
1,2,3,4,5,6,2A,4A,6A,1B,2B,3B,4B,5B,6B  パイプラインステージ
7,7A,7B  制御部
71  制御回路
S1,S2,S3,S4,S5,S6  演算部
R1,R2,R3,R4,R5,R6,R2A,R4A,R6A,R1B,R3B,R5B  パイプラインレジスタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a pipeline arithmetic processing device and a pipeline arithmetic control method, and more particularly, to a pipeline arithmetic processing device and a pipeline arithmetic control method in which the number of pipeline stages is made variable to operate with a high-speed clock and a low-speed clock.
[0002]
[Prior art]
In general, a pipeline arithmetic processing device that operates with a high-speed clock and a low-speed clock is configured to increase the number of pipeline stages in a high-speed clock operation so as to reduce processing for each stage of the pipeline. . However, such an increase in the number of pipeline stages causes a decrease in execution efficiency due to a penalty caused by stopping or initializing the pipeline due to a branch instruction or the like, and in order to suppress this, prediction tables such as branch prediction and preceding execution are required. A high-speed register is required to hold an execution instruction, and a technique that consumes large power and has a complicated circuit is generally indispensable.
[0003]
However, in recent years, when the clock frequency is varied at a low speed in order to reduce power consumption when the load on the processor is reduced, it is necessary to maintain the performance by suppressing a decrease in execution efficiency without using branch prediction or preceding execution. Is required.
[0004]
In order to respond to this demand, for example, the first conventional pipeline arithmetic processing device described in Japanese Patent Application Laid-Open No. 6-83583 is capable of changing the number of pipeline stages according to the variation of the operating clock frequency, and The operation of the high-speed clock by the configuration and the efficiency of instruction execution of the low-speed clock by the short pipeline configuration are compatible.
[0005]
Referring to FIG. 18, which shows a block diagram of a conventional first pipeline arithmetic processing device, this conventional first pipeline arithmetic processing device includes an input-side latch circuit 512-1 and an output circuit of an arithmetic circuit 510-A. , A latch circuit 512-3 for latching the output of the arithmetic circuit 510-B, arithmetic circuits 510-A and 510-B configuring each stage of the pipeline, and supply of a select signal. And a select generation circuit 518 for generating a select signal.
[0006]
Next, the operation of the first conventional pipeline arithmetic processing device will be described with reference to FIG. 18. The select generation circuit 518 outputs an L level select signal when the clock speed is high and an H level select signal when the clock speed is low. Occurs. When the select signal is at the L level, selector 514 connects the output of latch circuit 512-2 to arithmetic circuit 510-B, and latch circuit 512-2 intervenes between arithmetic circuits 510-A and 510-B. It becomes. When the select signal is at the H level, the selector 514 resets the latch circuit 512-2, connects the output of the arithmetic circuit 510-A to the arithmetic circuit 510-B, and sets the latch circuit 512-2 to the through state. When the clock speed is low and the processing of both operations of the arithmetic circuits 510-A and 510-B can be completed within one cycle, the latch circuit 512-2 can be automatically passed through to improve the processing speed.
[0007]
Referring to FIG. 19, which shows a block diagram of a conventional second pipeline arithmetic processing device described in Japanese Patent Application Laid-Open No. 8-147163, this second conventional pipeline arithmetic processing device has an instruction at each stage of the pipeline. Data processing units 613, 614 for performing predetermined data processing on the data processing unit, a plurality of registers 615, 617, 619 for holding processing contents output to each stage of the data processing units 613, 614, and the registers 615, 617, 619 And multiplexers 616, 618, and 620 that constitute bypass paths for bypassing the registers 615, 617, and 619, respectively.
[0008]
Next, the operation of the second conventional pipeline arithmetic processing device will be described with reference to FIG. 19. When the operation clock frequency is in the low clock frequency mode, or when the data processing unit 613 , 614 are monitored, and when the contents held in the register at that time are stably held in the next unit processing time as in the execution of a branch instruction, this is determined and the multiplexer 616, 618, and 620 are controlled, and the corresponding register in the registers 615, 617, and 619 is bypassed by the bypass path.
[0009]
With this configuration, it is possible to reduce the power that is wasted by the processor without lowering the processing performance, and to improve the processing speed by the setup time of the bypassed register.
[0010]
Further, referring to FIG. 20 which shows a block diagram of a third conventional pipeline arithmetic processing device described in Japanese Patent Application Laid-Open No. 9-319578, data processing 71 which is the third conventional pipeline arithmetic processing device includes an instruction fetch processor. A circuit 711, an instruction decoding circuit 712, an instruction execution circuit 713, and a high-speed pitch flag 714 are provided, and the number of stages of pipeline processing is variable to three or four in this example. The pipeline control circuit 7121 of the instruction decoding circuit 712 switches the number of pipeline stages of the instruction execution circuit 713. With this configuration, the upper limit of the operation clock can be improved in the four-stage pipeline processing, so that the processing speed can be increased. On the other hand, in applications where a low-speed clock is sufficient, a three-stage pipeline process with less penalty due to branch interlock can be used.
[0011]
As described above, the conventional first to third pipeline arithmetic processing devices switch pipelines by providing pipelines by the number of operation modes in which the number of pipeline stages is varied, or by providing a bypass circuit in a pipeline register. Is provided, and the multiplexer selects the output of the pipeline register and the output of the bypass circuit and selects the output.
[0012]
As a result, it is necessary to provide the same number of pipelines as the number of variable operation modes, or to provide a bypass circuit in the pipeline register, which increases the circuit scale.
[0013]
Further, when a bypass circuit is provided in a pipeline register, a multiplexer is required for each pipeline register, so that the circuit scale increases as compared with a case where the number of pipeline stages is not variable (fixed). There is also a problem that the number of gates of the pipeline stage increases due to the multiplexer, and the maximum operating frequency with a high-speed clock decreases.
[0014]
[Problems to be solved by the invention]
In the above-described conventional pipeline arithmetic processing device and pipeline arithmetic control method, pipelines are switched by the number of operation modes in which the number of pipeline stages is changed, or pipelines are switched, or a bypass circuit is provided in a pipeline register. Since the output of the pipeline register and the output of the bypass circuit are received by the multiplexer and the output is selected, the pipeline is provided for the number of variable operation modes or the bypass circuit is provided in the pipeline register. Since it needs to be provided, there is a disadvantage that the circuit scale increases.
[0015]
Further, when a bypass circuit is provided in a pipeline register, a multiplexer is required for each pipeline register, so that the circuit scale increases as compared with a case where the number of pipeline stages is not variable (fixed). The multiplexer increases the number of gates of the pipeline stage, and has a disadvantage that the maximum operating frequency with a high-speed clock decreases.
[0016]
An object of the present invention is to provide a pipeline arithmetic processing device and a pipeline arithmetic control method that can change the number of pipeline stages without increasing the circuit scale or lowering the maximum operating frequency with a high-speed clock.
.
[0017]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided a pipeline arithmetic processing device having a first stage number having an arithmetic unit each executing a predetermined arithmetic process, and a pipeline register for temporarily storing arithmetic data output by the arithmetic unit. The pipeline stages are cascade-connected, and the number of the pipeline stages is set to the high-speed so that the high-speed (high-speed) high-speed clock signal and the low-frequency low-speed clock signal operate optimally according to the control of the clock mode signal. In a pipeline arithmetic processing device which is variable by switching between the first number of stages corresponding to a clock signal and the second number of stages corresponding to the low-speed clock signal,
In the case of the high-speed clock signal, all of the pipeline registers of each of the first number of pipeline stages are made effective by performing the operation of storing the operation data, and the pipeline operation processing device of the first number of stages is enabled. And when the low-speed clock signal is used, the operation is performed in a pipeline register of a third stage number other than the pipeline register of the pipeline stage of the second stage number among the pipeline stages of the first stage number. The data storage operation is stopped to invalidate the operation and operate as the second stage number of pipeline operation devices.
[0018]
The invention according to claim 2 is the pipeline arithmetic processing device according to claim 1, wherein the first stage number is twice the second stage number, and the third stage number is the second stage number. It is characterized by being equal to
[0019]
According to a third aspect of the present invention, there is provided a pipeline arithmetic processing device having a first stage number having an arithmetic unit for executing a predetermined arithmetic process and a pipeline register for temporarily storing arithmetic data output from the arithmetic unit. The pipeline stages are cascade-connected, and the number of the pipeline stages is set to the high-speed so that the high-speed (high-speed) high-speed clock signal and the low-frequency low-speed clock signal operate optimally according to the control of the clock mode signal. In a pipeline arithmetic processing device which is variable by switching between the first number of stages corresponding to a clock signal and the second number of stages corresponding to the low-speed clock signal,
The second pipeline register having the first pipeline register having a switching function of switching to one of an execution state and a stop state of the operation of storing the operation data in response to the supply of the switching control signal corresponding to the clock mode signal; A first number of pipeline stages;
A second pipeline stage having the second number of stages including the second pipeline register without the switching function;
A control unit that outputs the switching control signal in response to control of the clock mode signal,
Cascading a set of pipeline stages formed by cascading the first and second pipeline stages;
When the clock mode signal designates the high-speed clock signal, the storage operation of the first pipeline register is performed to be effective by performing the storage operation, and the number of times of the second stage is doubled together with the second pipeline stage. Operating as a pipeline arithmetic processing device of the first stage number corresponding to
When the clock mode signal specifies the low-speed clock signal, the storage operation of the first pipeline register is stopped to invalidate the first pipeline register to operate as the second-stage pipeline arithmetic processing device. Is what you do.
[0020]
According to a fourth aspect of the present invention, in the pipeline arithmetic processing device of the third aspect, the first pipeline register holds input data in accordance with a first level of the switching control signal. And a D flip-flop with a through operation mode for performing a through operation in which the input data is passed without being held in accordance with the second level of the switching control signal.
[0021]
According to a fifth aspect of the present invention, in the pipeline operation processing device according to the third aspect, the first pipeline register is cascaded, and a clock having an opposite phase is input to one clock input terminal. And a second D-latch,
A control circuit, wherein the control unit outputs a switching control signal in response to control of the clock mode signal;
An inverter that inverts the clock signal and outputs an inverted clock signal;
A first OR circuit which takes an OR logic of the switching control signal and the inverted clock signal and supplies a mask inverted clock signal to a clock input terminal of the first D latch; A second OR circuit that takes an OR logic and supplies a mask clock signal to a clock input terminal of the second D latch.
The first and second D latches operate as D flip-flops that hold input data in accordance with a first level of the switching control signal, and the input data in response to a second level of the switching control signal. , And operates as a D flip-flop with a through operation mode for performing a through operation of passing through without holding.
[0022]
According to a sixth aspect of the present invention, in the pipeline operation processing device of the fourth aspect, the D flip-flop with the through operation mode is cascaded, and a clock having an opposite phase is input to one clock input terminal. First and second D latches;
An inverter that inverts the clock signal and outputs an inverted clock signal;
A first OR circuit which takes an OR logic of the switching control signal and the inverted clock signal and supplies a mask inverted clock signal to a clock input terminal of the first D latch; And a second OR circuit that takes an OR logic and supplies a mask clock signal to a clock input terminal of the second D latch.
[0023]
A first aspect of the present invention is a pipeline arithmetic processing device having a first stage number having an arithmetic unit each executing a predetermined arithmetic process, and a pipeline register for temporarily storing arithmetic data output by the arithmetic unit. The pipeline stages are cascade-connected, and the number of the pipeline stages is set to the high-speed so that the high-speed (high-speed) high-speed clock signal and the low-frequency low-speed clock signal operate optimally according to the control of the clock mode signal. In a pipeline arithmetic processing device which is variable by switching between the first number of stages corresponding to a clock signal and the second number of stages corresponding to the low-speed clock signal,
A switching control unit that outputs independent switching control signals for the first number of stages that independently control the pipeline registers of each of the first number of pipeline stages in response to control of the clock mode signal; ,
The pipeline register having a switching function in which each of the first number of pipeline stages is switched to one of an execution state and a stop state of a storage operation of the operation data in response to the supply of the independent switching control signal With
When the clock mode signal designates the high-speed clock signal, the storage operation of the pipeline register is performed to be effective by operating the pipeline operation device of the first stage number,
When the clock mode signal specifies the low-speed clock signal, the storage operation of the pipeline registers of the pipeline stages other than the pipeline stages of the second predetermined number of stages is invalidated by stopping the storage operation. It is characterized by being operated as a pipeline arithmetic processing device of a second stage number.
[0024]
The invention according to claim 8 is the pipeline arithmetic processing device according to claim 7, wherein the pipeline registers of the first number of pipeline stages are independent of each other in response to supply of a system clock signal. And a clock control unit for supplying the clock signal.
[0025]
According to a ninth aspect of the present invention, there is provided the pipeline operation control method, wherein each of the first and second stages includes an operation unit for executing a predetermined operation process and a pipeline register for temporarily storing operation data output from the operation unit. The number of the pipeline stages is set to be the first stage number corresponding to the high-speed clock signal so that the pipeline stages are cascade-connected, and the number of the pipeline stages is adjusted to the optimum operation at each of the high-frequency (speed) first and low-frequency low-speed clock signals. And the second stage number corresponding to the low-speed clock signal, the pipeline operation control method comprising:
In the high-speed clock mode that is the high-speed clock signal, all of the pipeline registers of the first number of pipeline stages are made effective by performing the operation of storing the operation data, and the first number of pipeline stages is made effective. Operate as a pipeline arithmetic processing unit,
In the low-speed clock mode, which is the low-speed clock signal, in the third stage pipeline registers other than the pipeline registers of the second stage pipeline stages of the first stage pipeline stages. The storage operation of the operation data is stopped so that the operation is invalidated and the operation is performed as the second-stage pipeline operation device.
[0026]
According to a tenth aspect of the present invention, in the pipeline operation control method according to the ninth aspect, when changing from the high-speed clock mode to the low-speed clock mode at a first time, the first time immediately before the first time is changed. Operating in the high-speed clock mode until time 0, operating as the pipeline arithmetic processing device of the first number of stages,
Switching the clock frequency supplied to the pipeline register to the low-speed clock at the first time, stopping fetching of a new instruction,
The remaining instructions at the time of stopping the instruction fetching are executed in the low-speed mode, the operation in the low-speed clock mode is started from the second time following the completion of all the instructions, and the new instruction is fetched. Characterized by operating as a pipeline arithmetic processing device.
[0027]
The invention according to claim 11 is the pipeline operation control method according to claim 9, wherein when the clock mode is changed during the first time, the clock frequency is not switched to the low-speed clock and the remaining clock frequency is not changed to the low-speed clock. Executing the instruction in the high-speed clock mode, and switching the clock frequency to the low-speed clock at a third time after completion of all the instructions to start the operation in the low-speed clock mode. is there.
[0028]
According to a twelfth aspect of the present invention, in the pipeline operation control method according to the ninth aspect, the pipeline operation processing device operates in the high-speed clock mode until the zeroth time and operates as the first stage number of pipeline operation processing devices. ,
Switching the clock frequency supplied to the pipeline register to the low-speed clock at the first time, interrupting the fetch of a new instruction,
Resume fetching new instructions at a third time following the first time;
Interrupting the fetch of a new instruction at a fourth time following the third time;
Restart fetching new instructions at a fifth time following the fourth time;
At a sixth time following the fifth time, the clock frequency is switched to the low-speed clock to start the operation in the low-speed clock mode.
[0029]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0030]
A pipeline operation processing device and a pipeline operation control method according to the present embodiment each include an operation unit that executes a predetermined operation process, and a pipeline register that temporarily stores operation data output by the operation unit. One pipeline stage is connected in cascade, and the pipeline stage is configured to operate optimally with each of a high-frequency (speed) high-speed clock signal and a low-frequency low-speed clock signal according to control of a clock mode signal. In the pipeline arithmetic processing device, the number of stages is variable by switching between the first number of stages corresponding to the high-speed clock signal and the second number of stages corresponding to the low-speed clock signal, All of the pipeline registers of each of the number of pipeline stages are stored in the operation data storage operation. In this case, the first stage number of pipeline stages is operated effectively as the first stage number of pipeline operation processing devices, and the second stage number of pipeline stages among the first stage number of pipeline stages is operated at the time of the low-speed clock signal. By stopping the operation of storing the operation data in the pipeline registers of the third stage other than the pipeline registers, the operation is invalidated and the pipeline operation device of the second stage is operated.
[0031]
Next, referring to FIG. 1 showing a block diagram of an embodiment of the present invention, the pipeline arithmetic processing device of this embodiment shown in FIG. And a configuration corresponding to an operation mode corresponding to a clock frequency in response to the supply of a clock mode signal CM (configuration And a control unit 7 that outputs a control signal SEL for switching to (1).
[0032]
The pipeline stage 1 includes an operation unit S1 and a pipeline register R1 having a bit width processed by the pipeline.
[0033]
The pipeline stage 2 includes an operation unit S2 and a pipeline register R2 having a bit width to be processed by the pipeline.
[0034]
The pipeline stage 3 includes an operation unit S3 and a pipeline register R3 having a bit width processed by the pipeline.
[0035]
The pipeline stage 4 includes an operation unit S4 and a pipeline register R4 having a bit width processed by the pipeline.
[0036]
The pipeline stage 5 includes an operation unit S5 and a pipeline register R5 having a bit width processed by the pipeline.
[0037]
The pipeline stage 6 includes an operation unit S6 and a pipeline register R6 having a bit width processed by the pipeline.
[0038]
The control unit 7 supplies a control signal SEL to each of the pipeline registers R1, R3, and R5 of the pipeline stages 1, 3, and 5. Each of the pipeline registers R1, R3, and R5 supplies the control signal SEL. To switch to the valid or invalid (through) state.
[0039]
In the present embodiment, as will be described later, when the clock mode signal CM is a high-frequency (hereinafter, high-speed) clock corresponding to the L level, the control signal SEL is set to the L level, and in response to the L level of the control signal SEL, Each of the pipeline registers R1, R3, and R5 becomes valid, forming a six-stage pipeline operation processing circuit including pipeline stages 1, 2, 3, 4, 5, and 6. On the other hand, if the clock mode signal CM is a low frequency (hereinafter, low speed) clock corresponding to the H level, the control signal SEL is set to the H level, and the pipeline registers R1, R3, R5 are responded to the H level of the control signal SEL. Are invalid, that is, invalid, and each of the pipeline stages 1 and 2, 3 and 4, 5 and 6 constitutes a three-stage pipeline operation processing circuit which operates as one pipeline stage.
[0040]
Each of the pipeline registers R1, R3, and R5 includes a D flip-flop having a through operation mode for performing the above operation. Referring to FIG. 2 which shows the details of the pipeline register R1 as a block on behalf of the pipeline registers R1, R3, and R5, FIG. 2 shows a configuration for one bit for convenience of description, and shows one clock input terminal connected in cascade. , Two inverters N1 that invert the clock signal CLK and output an inverted clock signal, and a control signal SEL and an inverted clock signal supplied from the control unit 7. An OR circuit O1 that takes an OR logic and supplies a mask inverted clock signal MCB to a clock input terminal of a D latch L1, and an OR logic of a control signal SEL and a clock signal CLK and takes a mask clock signal MC and supplies a mask input signal of a D latch L2 to a D latch L2. And an OR circuit O2 for supplying the OR circuit O.
[0041]
Each of the pipeline registers R2, R4, and R6 is composed of a known ordinary D flip-flop.
[0042]
Next, the operation of the present embodiment will be described with reference to FIGS. 1 and 2. Data input to each of the pipeline stages 1, 2, 3, 4, 5, and 6 is Each of the operation units S1, S2, S3, S4, S5, and S6 of the stage is supplied with each other to perform an operation process, and is stored in each of the pipeline registers R1, R2, R3, R4, R5, and R6 of each stage and the next data is stored. Wait for.
[0043]
The general operation itself of such a pipeline operation device is well known to those skilled in the art, and a detailed description thereof will be omitted.
[0044]
As described above, the control unit 7 switches the number of pipeline stages according to the level of the control signal SEL corresponding to the clock mode signal CM set according to the clock frequency (speed) to be used. That is, the control signal SEL is supplied to each of the pipeline registers R1, R3, R5 of the pipeline stages 1, 3, 5, and each of the pipeline registers R1, R3, R5 controls the level L / H of the control signal SEL. To switch to the valid or invalid (through) state.
[0045]
First, in the case of a high-speed clock, the level of the clock mode signal CM is L level, and the level of the corresponding control signal SEL is also L level. In response to the L level of the control signal SEL, each of the pipeline registers R1, R3, and R5 is enabled, and a six-stage pipeline operation processing circuit including pipeline stages 1, 2, 3, 4, 5, and 6 is provided. Constitute.
[0046]
Next, in the case of a low-speed clock, the level of the clock mode signal CM is at the H level, and the level of the corresponding control signal SEL is also at the H level. In response to the H level of the control signal SEL, each of the pipeline registers R1, R3, and R5 becomes invalid, that is, enters a through state. Thus, each of the pipeline stages 1, 2, 3, 4, 5, and 6 constitutes one pipeline stage 1 + 2, 3 + 4, 5 + 6.
[0047]
In this way, in the case of the high-speed clock, the input data DI is processed by the six-stage pipeline operation processing circuit including the pipeline stages 1, 2, 3, 4, 5, and 6, and is output as the output data DO. I do. On the other hand, in the case of a low-speed clock, each is processed by a three-stage pipeline operation processing circuit including pipeline stages 1 + 2, 3 + 4, and 5 + 6, and output as output data DO.
[0048]
Next, the operation of the pipeline register R1 will be described with reference to FIG. 2 as a representative of the pipeline registers R1, R3, and R5 (the operation for one bit will be described for convenience). , Control signal SEL is set to L level. The control signal SEL is supplied to one input terminal of the OR circuit O1 connected to the clock input terminal of the D latch L1, and an inverted clock signal obtained by inverting the clock signal CLK by the inverter N1 is supplied to the other input terminal. , And receives a supply of a mask inverted clock signal MCB which is an OR logic of the two. Therefore, the D latch L1 captures the input D signal at the transition timing of the clock signal CLK from the H level to the L level, that is, at the falling front edge, and outputs the output Q signal at the falling front edge of the next clock signal CLK. On the other hand, the D latch L2 is supplied with the control signal SEL at one input terminal of the OR circuit O2 connected to the clock input terminal, and is supplied with the clock signal CLK at the other input terminal. The supply of the mask inversion clock signal MC is received. Therefore, the D latch L2 takes in the input D signal which is the output Q signal of the D latch L1 at the leading edge of the clock signal CLK and outputs the output Q signal at the leading edge of the next clock signal CLK. That is, normal D flip-flop operation is performed by the D latches L1 and L2. That is, it becomes effective as a pipeline register and holds input data.
[0049]
Next, in the case of the low-speed clock operation, the control signal SEL is set to the H level. The control signal SEL at one input terminal of the OR circuit O1 is at the H level, and therefore, the mask inverted clock signal MCBD at the H level is supplied to the latch L1 regardless of the level of the inverted clock signal at the other input terminal. Therefore, the D latch L1 does not operate as the D latch, and outputs the input data as it is as output data, that is, enters a through state. The control signal SEL at one input terminal of the OR circuit O2 is also at the H level, so that the mask clock signal MC at the H level is supplied to the latch L2 regardless of the level of the clock signal CLK at the other input terminal. Supply. Therefore, the D latch L2 also does not operate as a D latch and enters a through state. As a result, the pipeline register R1 constituted by the D latches L1 and L2 is invalidated, that is, passed without performing the data storing operation.
[0050]
Next, the details of the high-speed clock operation of the present embodiment will be described with reference to FIG. 3, which is a time chart showing clocks, instructions, and processing states of each stage when the clock mode of the present embodiment is a high-speed clock. In this case, since the operation in this case is a six-stage pipeline configuration, as described above, by setting the clock mode signal CM to the L level and thus the control signal SEL to the L level, the pipeline registers R1, R3, R5 Are effective, and a six-stage pipeline operation processing circuit including pipeline stages 1, 2, 3, 4, 5, and 6 is configured. As shown, the pipeline stages 1, 2, 3, 4, 5, and 6 are assigned to the respective pipeline stages in accordance with instructions 1 to 6 for each clock cycle as time T progresses (in parentheses). Each process of IF1, IF2, ID1, ID2, EX1 and EX2 is sequentially executed. The processing IF indicates an instruction fetch, the processing ID indicates an instruction decode, and the processing EX indicates an instruction execution.
[0051]
That is, at time T1, the pipeline stage 1 executes the processing IF1 according to the instruction 1, and the pipeline stages 2 to 6 are in a standby state. At time T2, the pipeline stage 1 executes the processing IF1 according to the instruction 2, the pipeline stage 2 executes the processing IF2 according to the instruction 1, and the pipeline stages 3 to 6 are in a standby state. Thereafter, at time T3... T6, the pipeline stages 3 to 6 sequentially execute the processing ID1, ID2, EX1, and EX2 according to the instruction 1. For the instruction 2, the processing IF1 of the pipeline stage 1 is executed from time T2, and the processing EX2 of the pipeline stage 6 is executed at time T7.
[0052]
Similarly, for the instructions 3 to 6, the processing IF1 of the pipeline stage 1 is executed at times T3 to T6, and the processing EX2 of the pipeline stage 6 is executed at times T8 to T11. In this example, at time T6, processes IF1, IF2, ID1, ID2, EX1, and EX2 of all the pipeline stages 1 to 6 for the instructions 6 to 1 are being executed.
[0053]
Next, details of the low-speed clock operation of the present embodiment will be described with reference to FIG. 4 which is a time chart showing clocks, instructions, and processing states of each stage when the clock mode of the present embodiment is a low-speed clock. To explain, in this case, for convenience of explanation, since the operation is of a three-stage pipeline configuration in which the clock frequency is set to 高速 of the high-speed clock, the clock mode signal CM is set at the H level, and thus the control signal SEL, as described above. Is set to the H level to make each of the pipeline registers R1, R3, and R5 through (invalid), thereby configuring a three-stage pipeline operation processing circuit including pipeline stages 1 + 2, 3 + 4, and 5 + 6. Each of these pipeline stages 1 + 2, 3 + 4, and 5 + 6 sequentially executes the processing of processing IF1 + IF2, ID1 + ID2, and EX1 + EX2 as time T progresses, respectively.
[0054]
That is, at time T1 + T2, pipeline stage 1 + 2 executes processing IF1 + IF2 according to instruction 1, and pipeline stages 3 + 4, 5 + 6 are in a standby state. At time T3 + T4, pipeline stage 1 + 2 executes processing IF1 + IF2 according to instruction 2, pipeline stage 3 + 4 executes processing ID1 + ID2 according to instruction 1, and pipeline stage 5 + 6 is in a standby state. Next, at time T5 + T6, the pipeline stages 1 + 2 execute the processing IF1 + IF2 according to the instruction 3, the pipeline stages 3 + 4 execute the processing ID1 + ID2 according to the instruction 2, and the pipeline stages 5 + 6 execute the processing EX1 + EX2 according to the instruction 1. Hereinafter, the above operations are repeated in instructions 4 to 6.
[0055]
Next, referring to FIG. 5 which is a time chart showing the clock, the command, and the processing state of each stage during switching of the clock mode from the high-speed clock to the low-speed clock, the high-speed clock to the low-speed clock according to the present embodiment will be described. The operation of the first pipeline operation control method, which is the first switching method, will be described. Here, for convenience of description, the clock mode is changed at time T7. First, until the time T6, similarly to the high-speed operation shown in FIG. Next, at time T7, the clock mode is changed, the clock input to the pipeline register is switched from the high-speed clock to the low-speed clock, and the acquisition of a new instruction is stopped. The fetched instruction is processed with a new low-speed clock in which one clock is 2 hours and T, with the pipeline configuration of six stages. Therefore, in this example, five clocks, that is, 10T, are required for instruction processing for the remaining five stages of pipeline, and it takes up to time T16.
[0056]
At time T16, all the instructions being processed in the pipeline are completed.
[0057]
From time T17, the operation is performed in a three-stage pipeline configuration as in the case of the low-speed clock operation shown in FIG.
[0058]
Also, a time chart shows an operation during the change from the high-speed clock to the low-speed clock in the second pipeline operation control method, which is the second switching method from the high-speed clock to the low-speed clock in the pipeline operation device of the present embodiment. Referring to FIG. 6, when the clock mode is changed at time T7, the clock frequency input to the register is not simultaneously switched as in the above-described pipeline operation control method, and the number of pipeline stages is actually switched. By delaying the switching of the clock frequency input to the register until T12, the required switching time can be reduced.
[0059]
Further, a time chart shows the operation during the change from the high-speed clock to the low-speed clock in the third pipeline operation control method, which is the third switching method from the high-speed clock to the low-speed clock in the pipeline operation device of the present embodiment. Referring to FIG. 7 shown here, the following operation is performed by devising the timing at which a new instruction is fetched.
[0060]
Until time T6, the operation is performed in a six-stage pipeline configuration as in the high-speed operation. Next, at time T7, the clock mode is changed, and fetching of a new instruction is interrupted. At time T8, fetching of a new instruction is resumed. At time T9, fetching of a new instruction is interrupted. At time T10, fetching of a new instruction is restarted.
[0061]
From time T12, as in the low-speed clock operation, the clock frequency input to the register is switched, and the operation is performed in a three-stage pipeline configuration.
[0062]
In other words, stop fetching of new instructions until all the instructions being processed in the pipeline are completed, and after the instruction being processed is completed, switch to clock mode instead of enabling or disabling the register that switches the number of stages. Accordingly, a method of interrupting the fetching of a new instruction is used.
[0063]
Next, referring to FIG. 8 which shows a clock, an instruction, and a processing state of each stage while the clock mode is changing from the low-speed clock to the high-speed clock with reference to FIG. The operation during the change will be described. Here, for convenience of description, the clock mode is changed at time T14. First, the operation is performed in a three-stage pipeline configuration until time T12, as in the low-speed operation. Next, at time T14, the clock mode is changed, the clock frequency input to the register is switched, and the acquisition of a new instruction is stopped.
[0064]
At time T19, all the instructions being processed in the pipeline are completed.
[0065]
From time T20, as in the case of the high-speed clock operation, the operation is performed with a six-stage pipeline configuration, and fetching of a new instruction is restarted.
[0066]
As described above, in the present embodiment, when changing from the high-speed clock to the low-speed clock, the number of pipeline stages can be switched without waiting for all instructions being processed in the pipeline to end.
[0067]
As described above, unlike the technology using the conventional bypass circuit, data is processed on the same path regardless of the number of stages in the pipeline configuration, so that there is no need for a multiplexer for selecting the output of the bypass circuit and the output of the pipeline register. Become.
[0068]
Accordingly, since the number of gate stages of the stages for switching the number of pipeline stages does not increase, a decrease in the maximum operating frequency in high-speed clock operation can be avoided.
[0069]
Furthermore, while the conventional technology using a bypass circuit requires a multiplexer for each pipeline register, it is configured to control only the clock input of the pipeline register, so that the circuit scale is reduced. be able to.
[0070]
Next, a second embodiment of the present invention will be described with reference to FIG. 9, in which constituent elements common to FIG. The difference between the first embodiment and the first embodiment is that each of the pipeline stages 2A, 4A, and 6A in place of the pipeline stages 2, 4, and 6 includes a pipeline instead of the pipeline registers R2, R4, and R6. Pipeline registers R2A, R4A, R6A having the same through operation mode as the registers R1, R3, R5 are provided. Instead of the control unit 7, the pipeline stages 1, 2, 3, 3 respond to the supply of the clock mode signal CM. , 4,5,6, independent control signals SEL1, which individually control each pipeline stage of each of pipeline registers R1, R2A, R3, R4A, R5, R6A. EL2, SEL3, SEL4, SEL5, is to include a control section 7A for supplying each SEL6.
[0071]
FIG. 10 is a time chart showing an operation during a change from the high-speed clock to the low-speed clock in the fourth pipeline operation control method which is the first switching method from the high-speed clock to the low-speed clock according to the present embodiment. First, assuming that the clock mode is changed at time T7 as in the first embodiment, the circuit operates in a six-stage pipeline configuration until time T6, as in the high-speed operation of the first embodiment. Next, at time T7, the clock mode is changed, the clock frequency input to the pipeline register is switched, and fetching of a new instruction is stopped.
[0072]
At time T13, fetching of a new instruction is resumed, and the instruction of the high-speed clock operation that is already being executed operates in a six-stage pipeline configuration, but the newly fetched instruction operates in a three-stage pipeline configuration. From time T17, the operation is performed with a three-stage pipeline configuration, similarly to the low-speed clock operation of the first embodiment.
[0073]
That is, among the pipeline stages in which the number of stages is switched, the pipeline registers for switching the number of stages are enabled or disabled from the pipeline stage for which processing has been completed.
[0074]
As described above, in the present embodiment, all the pipeline stages are constituted by the D flip-flops having the through operation mode, and it is determined whether each of them is valid as a pipeline register. The number of pipeline stages can be switched sequentially from the stage.
[0075]
Further, in the fifth pipeline operation control method which is a second switching method which is a modification of the switching method of the number of pipeline stages during the change from the high-speed clock to the low-speed clock according to the present embodiment, the high-speed clock is switched to the low-speed clock. Referring to FIG. 11 which is a time chart showing the operation during the change of the clock signal, a control signal SEL for switching the clock frequency supplied to the pipeline register corresponding to the clock mode signal CM is actually set to the number of pipeline stages. The time required for switching can be reduced by delaying the switching.
[0076]
Referring to FIG. 12 showing a time chart of the operation during the change from the low-speed clock to the high-speed clock according to the present embodiment, first, a three-stage pipe until the time T14 as in the low-speed clock operation of the first embodiment. Operates in line configuration. At time T16, the clock mode is changed. At time T18, the instruction already being executed operates in a three-stage pipeline configuration, but the newly fetched instruction operates in a six-stage pipeline configuration. From time T22, similarly to the high-speed clock operation of the first embodiment, the clock frequency input to the pipeline register is switched, and the operation is performed with a six-stage pipeline configuration.
[0077]
As described above, in the present embodiment, the number of pipeline stages can be switched while continuously taking in the next instruction without waiting for all instructions being processed in the pipeline to end.
[0078]
Furthermore, even when the clock mode has a large number of clock frequency operations, the number of pipeline stages can be changed to an arbitrary number of stages, so that in any clock mode, a synergistic effect that wasteful instruction execution efficiency can be obtained. Play.
[0079]
Next, a third embodiment of the present invention will be described with reference to FIG. 13 which shows the same components as those in FIG. This embodiment differs from the second embodiment in that each of the pipeline stages 1, 2A, 3, 4A, 5, 6A responds to the supply of the system clock CLK in addition to the control unit 7A. A control unit 8 that supplies independent clock signals CLK1, CLK2, CLK3, CLK4, CLK5, and CLK6 to the line registers R1, R2A, R3, R4A, R5, and R6A is provided.
[0080]
In the first and second embodiments described above, the effect of shortening the time required for switching the pipeline for the change of the clock mode is achieved by using a common input clock for the pipeline register of each pipeline stage. Although it is obtained from the determination of the fetch of the next instruction and the switching timing of the number of pipeline stages, in the present embodiment, it can be achieved by inputting clocks at individual timings.
[0081]
FIG. 14 is a time chart showing an operation during a change from the high-speed clock to the low-speed clock in the sixth pipeline operation control method which is a method for switching from the high-speed clock to the low-speed clock according to the present embodiment. Assuming that the clock mode is changed at time T7 in the same manner as in the first and second embodiments, a pipeline of six stages with the same high-speed clock frequency and the same high-speed operation as in the first embodiment until time T6 is used. Works with configuration. Next, at time T7, the clock mode is changed, the clock frequency input to the pipeline register is switched, and fetching of a new instruction is stopped.
[0082]
At time T8, fetching of a new instruction is resumed, and the already executed high-speed clock operation instruction operates in a six-stage pipeline configuration without switching the clock frequency supplied to the pipeline register. Operates in a three-stage pipeline configuration by switching the supplied clock frequency.
[0083]
From time T12, as in the case of the low-speed clock operation of the first embodiment, the circuit operates with the same low-speed clock frequency in a three-stage pipeline configuration.
[0084]
Next, referring to FIG. 15, which is a time chart showing the operation during the change from the low-speed clock to the high-speed clock, the circuit operates in a three-stage pipeline configuration at the same low-speed clock frequency until time T12. At time T14, the clock mode is changed. At time T16, the instruction already being executed operates in a three-stage pipeline configuration without switching the clock frequency supplied to the pipeline register, but the newly fetched instruction switches the supplied clock frequency to switch the clock frequency supplied to the pipeline register to six stages. Operates in a pipeline configuration. From time T20, the circuit operates with the same high-speed clock frequency in a six-stage pipeline configuration.
[0085]
That is, in the present embodiment, an operation of switching the number of pipeline stages while simultaneously performing pipeline processing with clock signals of different frequencies is obtained, and the object of the present invention is achieved.
[0086]
Next, a fourth embodiment of the present invention will be described with reference to FIG. 16 which shows the same components as those in FIG. The difference between the first embodiment and the first embodiment is that pipeline stages 1B, 3B, and 5B are provided instead of pipeline stages 1, 3, and 5, and each of these pipeline stages 1B, 3B, and 5B is provided. Instead of each of the pipeline registers R1, R3, and R5 configured with D flip-flops having a through operation mode, there are provided pipeline registers R1B, R3B, and R5B configured with only D latches. Is provided with a control unit 7B having a clock mask function.
[0087]
FIG. 17 is a block diagram showing the configuration of the pipeline register R1B and the control unit 7B as a representative of the pipeline registers R1B, R3B, and R5B. Referring to FIG. Has two D-latches L1 and L2 cascade-connected to each other and having one clock input terminal to which a clock having an opposite phase is input. The control unit 7B has the same function as the control unit 7 of the first embodiment, that is, A control circuit 71 that outputs a control signal SEL in response to the supply of the clock mode signal CM, an inverter N1 that inverts the clock signal CLK and outputs an inverted clock signal, and ORs the control signal SEL and the inverted clock signal. An OR circuit O1 for supplying the mask inverted clock signal MCB to the clock input terminal of the D latch L1, a control signal SEL and a clock signal; A mask clock signal MC takes the OR logic of the click signal CLK and a OR circuit O2 is supplied to the clock input of D latch L2.
[0088]
Therefore, the two D-latches L1 and L2 of the pipeline register R1B of this embodiment, the OR circuits O1 and O2 of the control unit 7B, and the inverter N1 are substantially the same as the pipeline register R1 of the first embodiment. Construct a D flip-flop. Therefore, the operation of the present embodiment is the same as the operation of the first embodiment.
[0089]
In the present embodiment, as described above, a configuration is possible in which the control unit 7B is provided with a mask circuit for clocks supplied to the D latches of the pipeline registers R1B, R3B, and R5B as one unit. This has the effect of further reducing the circuit scale.
[0090]
【The invention's effect】
As described above, the pipeline operation processing device and the pipeline operation control method of the present invention store all of the pipeline registers of the first number of pipeline stages when the high-speed clock signal is stored in the pipeline data. When the low-speed clock signal is applied, the pipeline stage of the second stage among the pipeline stages of the first stage is activated when the operation is performed. The storage operation of the operation data in the pipeline registers of the third stage other than the line register is stopped to invalidate the operation, and the operation is performed as the pipeline operation device of the second stage, whereby the operation is the same regardless of the number of stages in the pipeline configuration. Since the data is processed in the path, the output of the bypass circuit and the pipeline Multiplexer for selecting the output of the register has the effect of suppressing an increase in circuit scale becomes unnecessary.
[0091]
Further, since the number of gate stages of the stages for switching the number of pipeline stages does not increase, there is an effect that a decrease in the maximum operating frequency in high-speed clock operation can be avoided.
[0092]
Further, since only the clock input of the pipeline register is controlled, the circuit size can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of a pipeline arithmetic processing device according to the present invention.
FIG. 2 is a block diagram showing a configuration of a pipeline register R1 of FIG.
FIG. 3 is a time chart of a high clock speed operation showing an example of an operation in the pipeline arithmetic processing device of the present embodiment.
FIG. 4 is a time chart of a low clock speed operation showing an example of an operation in the pipeline arithmetic processing device of the present embodiment.
FIG. 5 is a time chart showing a first pipeline operation control method which is a method of switching from a high clock speed operation to a low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 6 is a time chart showing a second pipeline operation control method which is a second switching method from the high clock speed operation to the low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 7 is a time chart showing a third pipeline operation control method which is a third switching method from the high clock speed operation to the low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 8 is a time chart showing a method of switching from a low clock speed operation to a high clock operation in the pipeline arithmetic processing device of the present embodiment.
FIG. 9 is a block diagram showing a second embodiment of the pipeline arithmetic processing device of the present invention.
FIG. 10 is a time chart showing a fourth pipeline operation control method which is a first switching method from the high clock speed operation to the low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 11 is a time chart showing a fifth pipeline operation control method which is a second switching method from the high clock speed operation to the low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 12 is a time chart showing a method for switching from a low clock speed operation to a high clock operation in the pipeline arithmetic processing device of the present embodiment.
FIG. 13 is a block diagram showing a third embodiment of the pipeline operation processing device of the present invention.
FIG. 14 is a time chart illustrating a sixth pipeline operation control method which is a method of switching from a high clock speed operation to a low clock operation in the pipeline operation processing device of the present embodiment.
FIG. 15 is a time chart showing a method of switching from a low clock speed operation to a high clock operation in the pipeline arithmetic processing device of the present embodiment.
FIG. 16 is a block diagram showing a fourth embodiment of the pipeline operation processing device of the present invention.
FIG. 17 is a block diagram showing a configuration of a pipeline register R1 of FIG.
FIG. 18 is a block diagram illustrating an example of a first conventional pipeline arithmetic processing device.
FIG. 19 is a block diagram illustrating an example of a second conventional pipeline operation processing device.
FIG. 20 is a block diagram showing an example of a third conventional pipeline operation processing device.
[Explanation of symbols]
1,2,3,4,5,6,2A, 4A, 6A, 1B, 2B, 3B, 4B, 5B, 6B pipeline stage
7, 7A, 7B control unit
71 Control circuit
S1, S2, S3, S4, S5, S6 arithmetic unit
R1, R2, R3, R4, R5, R6, R2A, R4A, R6A, R1B, R3B, R5B pipeline registers

Claims (12)

各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記高速クロック信号のとき、前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタの全てを前記演算データの記憶動作を行わせることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、前記低速クロック信号のとき、前記第1の段数のパイプラインステージのうちの前記第2の段数のパイプラインステージの前記パイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける前記演算データの記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算装置として動作させることを特徴とするパイプライン演算処理装置。
A clock mode signal of a clock mode signal is formed by cascade-connecting a first number of pipeline stages each having an operation unit for executing a predetermined operation process and a pipeline register for temporarily storing operation data output by the operation unit. The number of stages of the pipeline stage is adjusted to the first stage number corresponding to the high-speed clock signal and the low-speed clock signal so that the high-speed clock signal and the low-frequency clock signal operate optimally under control. In a pipeline arithmetic processing device which is made variable by switching to a corresponding second stage number,
In the case of the high-speed clock signal, all of the pipeline registers of each of the first number of pipeline stages are made effective by performing the operation of storing the operation data, and the pipeline operation processing device of the first number of stages is enabled. And when the low-speed clock signal is used, the operation is performed in a pipeline register of a third stage number other than the pipeline register of the pipeline stage of the second stage number among the pipeline stages of the first stage number. A pipeline arithmetic processing device wherein the data storage operation is stopped to invalidate the operation and operate as the pipeline arithmetic device of the second stage number.
前記第1の段数が前記第2の段数の2倍であり、前記第3の段数が前記第2の段数と等しいことを特徴とする請求項1記載のパイプライン演算処理装置。2. The pipeline arithmetic processing device according to claim 1, wherein the first stage number is twice as large as the second stage number, and the third stage number is equal to the second stage number. 各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記クロックモード信号対応の切替制御信号の供給に応じて前記演算データの記憶動作の実行及び停止のいずれか一方の状態に切替られる切替機能を持つ前記第1のパイプラインレジスタを備える前記第2の段数の第1のパイプラインステージと、
前記切替機能を持たない前記第2のパイプラインレジスタを備える前記第2の段数の第2のパイプラインステージと、
前記クロックモード信号の制御に応答して前記切替制御信号を出力する制御部とを備え、
前記第1及び第2のパイプラインステージを縦続接続して成るパイプラインステージの組を縦続接続し、
前記クロックモード信号が前記高速クロック信号を指定したとき、前記第1のパイプラインレジスタの前記記憶動作を実行させることにより有効として前記第2のパイプラインステージと併せて前記第2の段数の2倍に相当する前記第1の段数のパイプライン演算処理装置として動作させ、
前記クロックモード信号が前記低速クロック信号を指定したとき、前記第1のパイプラインレジスタの前記記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算処理装置として動作させることを特徴とするパイプライン演算処理装置。
A clock mode signal of a clock mode signal is formed by cascade-connecting a first number of pipeline stages each having an operation unit for executing a predetermined operation process and a pipeline register for temporarily storing operation data output by the operation unit. The number of stages of the pipeline stage is adjusted to the first stage number corresponding to the high-speed clock signal and the low-speed clock signal so that the high-speed clock signal and the low-frequency clock signal operate optimally under control. In a pipeline arithmetic processing device which is made variable by switching to a corresponding second stage number,
The second pipeline register having the first pipeline register having a switching function of switching to one of an execution state and a stop state of the operation of storing the operation data in response to the supply of the switching control signal corresponding to the clock mode signal; A first number of pipeline stages;
A second pipeline stage having the second number of stages including the second pipeline register without the switching function;
A control unit that outputs the switching control signal in response to control of the clock mode signal,
Cascading a set of pipeline stages formed by cascading the first and second pipeline stages;
When the clock mode signal designates the high-speed clock signal, the storage operation of the first pipeline register is performed to be effective by performing the storage operation, and the number of times of the second stage is doubled together with the second pipeline stage. Operating as a pipeline arithmetic processing device of the first stage number corresponding to
When the clock mode signal specifies the low-speed clock signal, the storage operation of the first pipeline register is stopped to invalidate the first pipeline register to operate as the second-stage pipeline arithmetic processing device. Pipeline arithmetic processing unit.
前記第1のパイプラインレジスタが、前記切替制御信号の第1のレベルに応じて入力データを保持するDフリップフロップとして動作し、前記切替制御信号の第2のレベルに応じて前記入力データを保持せずそのままスルーさせるスルー動作を行うスルー動作モード付Dフリップフロップを備えることを特徴とする請求項3記載のパイプライン演算処理装置。The first pipeline register operates as a D flip-flop that holds input data according to a first level of the switching control signal, and holds the input data according to a second level of the switching control signal. 4. The pipeline arithmetic processing device according to claim 3, further comprising a D flip-flop with a through operation mode for performing a through operation of directly passing through without performing. 前記第1のパイプラインレジスタが、縦続接続され一方のクロック入力端に逆相のクロックが入力される第1及び第2のDラッチを備え、
前記制御部が、前記クロックモード信号の制御に応答して切替制御信号を出力する制御回路と、
前記クロック信号を反転し反転クロック信号を出力するインバータと、
前記切替制御信号と前記反転クロック信号とのOR論理をとりマスク反転クロック信号を前記第1のDラッチのクロック入力端に供給する第1のOR回路と、前記切替制御信号と前記クロック信号とのOR論理をとりマスククロック信号を前記第2のDラッチのクロック入力端に供給する第2のOR回路とを備え、
前記第1及び第2のDラッチが、前記切替制御信号の第1のレベルに応じて入力データを保持するDフリップフロップとして動作し、前記切替制御信号の第2のレベルに応じて前記入力データを保持せずそのままスルーさせるスルー動作を行うスルー動作モード付Dフリップフロップとして動作することを特徴とする請求項3記載のパイプライン演算処理装置。
The first pipeline register includes first and second D latches that are cascade-connected and have opposite clocks input to one clock input terminal,
A control circuit, wherein the control unit outputs a switching control signal in response to control of the clock mode signal;
An inverter that inverts the clock signal and outputs an inverted clock signal;
A first OR circuit which takes an OR logic of the switching control signal and the inverted clock signal and supplies a mask inverted clock signal to a clock input terminal of the first D latch; A second OR circuit that takes an OR logic and supplies a mask clock signal to a clock input terminal of the second D latch.
The first and second D latches operate as D flip-flops that hold input data in accordance with a first level of the switching control signal, and the input data in response to a second level of the switching control signal. 4. The pipeline operation processing device according to claim 3, wherein the pipeline operation processing device operates as a D flip-flop with a through operation mode that performs a through operation in which the data is not passed and the through operation is performed.
前記スルー動作モード付Dフリップフロップが、縦続接続され一方のクロック入力端に逆相のクロックが入力される第1及び第2のDラッチと、
クロック信号を反転し反転クロック信号を出力するインバータと、
前記切替制御信号と前記反転クロック信号とのOR論理をとりマスク反転クロック信号を前記第1のDラッチのクロック入力端に供給する第1のOR回路と、前記切替制御信号と前記クロック信号とのOR論理をとりマスククロック信号を前記第2のDラッチのクロック入力端に供給する第2のOR回路とを備えることを特徴とする請求項4記載のパイプライン演算処理装置。
First and second D latches, in which the D flip-flops with the through operation mode are cascaded and one of the clock input terminals receives clocks of opposite phases;
An inverter that inverts the clock signal and outputs an inverted clock signal;
A first OR circuit which takes an OR logic of the switching control signal and the inverted clock signal and supplies a mask inverted clock signal to a clock input terminal of the first D latch; 5. The pipeline arithmetic processing device according to claim 4, further comprising a second OR circuit that takes an OR logic and supplies a mask clock signal to a clock input terminal of the second D latch.
各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成されクロックモード信号の制御に応じて高周波数(速度)の高速クロック信号及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算処理装置において、
前記クロックモード信号の制御に応答して前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタを独立に制御する前記第1の段数分の独立切替制御信号を出力する切替制御部を備え、
前記第1の段数のパイプラインステージの各々が、前記独立切替制御信号の供給に応じて前記演算データの記憶動作の実行及び停止のいずれか一方の状態に切替られる切替機能を持つ前記パイプラインレジスタを備え、
前記クロックモード信号が前記高速クロック信号を指定したとき、前記パイプラインレジスタの前記記憶動作を実行させることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、
前記クロックモード信号が前記低速クロック信号を指定したとき、予め指定した前記第2の段数の前記パイプラインステージ以外の前記パイプラインステージの前記パイプラインレジスタの前記記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算処理装置として動作させることを特徴とするパイプライン演算処理装置。
A clock mode signal of a clock mode signal is formed by cascade-connecting a first number of pipeline stages each having an operation unit for executing a predetermined operation process and a pipeline register for temporarily storing operation data output by the operation unit. The number of stages of the pipeline stage is adjusted to the first stage number corresponding to the high-speed clock signal and the low-speed clock signal so that the high-speed clock signal and the low-frequency clock signal operate optimally under control. In a pipeline arithmetic processing device which is made variable by switching to a corresponding second stage number,
A switching control unit that outputs independent switching control signals for the first number of stages that independently control the pipeline registers of each of the first number of pipeline stages in response to control of the clock mode signal; ,
The pipeline register having a switching function in which each of the first number of pipeline stages is switched to one of an execution state and a stop state of a storage operation of the operation data in response to the supply of the independent switching control signal With
When the clock mode signal designates the high-speed clock signal, the storage operation of the pipeline register is performed to be effective by operating the pipeline operation device of the first stage number,
When the clock mode signal specifies the low-speed clock signal, the storage operation of the pipeline registers of the pipeline stages other than the pipeline stages of the second predetermined number of stages is invalidated by stopping the storage operation. A pipeline arithmetic processing device operated as a second stage number of pipeline arithmetic processing devices.
システムクロック信号の供給に応答して前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタにそれぞれ独立のクロック信号を供給するクロック制御部を備えることを特徴とする請求項7記載のパイプライン演算処理装置。8. The pipe according to claim 7, further comprising a clock control unit that supplies an independent clock signal to each of the pipeline registers of each of the first number of pipeline stages in response to a supply of a system clock signal. Line arithmetic processing unit. 各々が所定の演算処理を実行する演算部と、前記演算部が出力する演算データを一時記憶するパイプラインレジスタとを有する第1の段数のパイプラインステージを縦続接続して構成され高周波数(速度)の第1及び低周波数の低速クロック信号の各々で最適動作するよう前記パイプラインステージの段数を前記高速クロック信号対応の前記第1の段数と前記低速クロック信号対応の第2の段数とに切り替えることにより可変とするパイプライン演算制御方法において、
前記高速クロック信号である高速クロックモードのとき、前記第1の段数のパイプラインステージの各々の前記パイプラインレジスタの全てを前記演算データの記憶動作を行わせることにより有効として前記第1の段数のパイプライン演算処理装置として動作させ、
前記低速クロック信号である低速クロックモードのとき、前記第1の段数のパイプラインステージのうちの前記第2の段数のパイプラインステージの前記パイプラインレジスタ以外の第3の段数のパイプラインレジスタにおける前記演算データの記憶動作を停止させることにより無効として前記第2の段数のパイプライン演算装置として動作させることを特徴とするパイプライン演算制御方法。
A high-frequency (speed) configuration is made by cascading a first number of pipeline stages each having an arithmetic unit for executing a predetermined arithmetic process and a pipeline register for temporarily storing arithmetic data output from the arithmetic unit. ), The number of stages of the pipeline stage is switched between the first number of stages corresponding to the high-speed clock signal and the second number of stages corresponding to the low-speed clock signal so as to operate optimally with each of the first and low-frequency low-speed clock signals. In the pipeline operation control method which is made variable by
In the high-speed clock mode that is the high-speed clock signal, all of the pipeline registers of the first number of pipeline stages are made effective by performing the operation of storing the operation data, and the first number of pipeline stages is made effective. Operate as a pipeline arithmetic processing unit,
In the low-speed clock mode, which is the low-speed clock signal, in the third stage pipeline registers other than the pipeline registers of the second stage pipeline stages of the first stage pipeline stages. A pipeline operation control method, wherein the storage operation of operation data is stopped to invalidate the operation so as to operate as the pipeline operation device of the second stage number.
第1の時間に前記高速クロックモードから前記低速クロックモードに変更するとき、前記第1の時間の直前の第0の時間まで前記高速クロックモードで動作し、前記第1の段数のパイプライン演算処理装置として動作し、
前記第1の時間に前記パイプラインレジスタに供給されるクロック周波数を前記低速クロックに切り替え、新規の命令の取り込みを停止し、
前記命令取り込み停止時点での残余の前記命令を前記低速モードで実行し、全て終了した時点の次の第2の時間から前記低速クロックモードの動作を開始して新規命令を取り込み前記第2の段数のパイプライン演算処理装置として動作することを特徴とする請求項9記載のパイプライン演算制御方法。
When changing from the high-speed clock mode to the low-speed clock mode at a first time, operating in the high-speed clock mode until a time 0 immediately before the first time, and performing the pipeline operation processing of the first number of stages; Work as a device,
Switching the clock frequency supplied to the pipeline register to the low-speed clock at the first time, stopping fetching of a new instruction,
The remaining instructions at the time of stopping the instruction fetching are executed in the low-speed mode, the operation in the low-speed clock mode is started from the second time following the completion of all the instructions, and the new instruction is fetched. 10. The pipeline operation control method according to claim 9, wherein the method operates as a pipeline operation processing device.
前記第1の時間に前記クロックモードが変更された時に、前記クロック周波数を前記低速クロックに切り替えず、前記残余の前記命令を前記高速クロックモードで実行し、全て終了した時点の次の第3の時間に前記クロック周波数を前記低速クロックに切り替えて前記低速クロックモードの動作を開始することを特徴とする請求項9記載のパイプライン演算制御方法。When the clock mode is changed at the first time, the clock frequency is not switched to the low-speed clock, the remaining instructions are executed in the high-speed clock mode, and the next third instruction after the completion of all the instructions is executed. 10. The pipeline operation control method according to claim 9, wherein the clock frequency is switched to the low-speed clock at a time to start the operation in the low-speed clock mode. 前記第0の時間まで前記高速クロックモードで動作し、前記第1の段数のパイプライン演算処理装置として動作し、
前記第1の時間に前記パイプラインレジスタに供給されるクロック周波数を前記低速クロックに切り替え、新規命令の取り込みを中断し、
前記第1の時間の次の第3の時間に新規命令を取り込みを再開し、
前記第3の時間の次の第4の時間に新規命令を取り込みを中断し、
前記第4の時間の次の第5の時間に新規命令を取り込みを再開し、
前記第5の時間の次の次の第6の時間に前記クロック周波数を前記低速クロックに切り替えて前記低速クロックモードの動作を開始することを特徴とする請求項9記載のパイプライン演算制御方法。
Operating in the high-speed clock mode until the zeroth time, operating as the first stage number of pipeline arithmetic processing devices,
Switching the clock frequency supplied to the pipeline register to the low-speed clock at the first time, interrupting the fetch of a new instruction,
Resume fetching new instructions at a third time following the first time;
Interrupting the fetch of a new instruction at a fourth time following the third time;
Restart fetching new instructions at a fifth time following the fourth time;
10. The pipeline operation control method according to claim 9, wherein the clock frequency is switched to the low-speed clock and the operation in the low-speed clock mode is started at a sixth time subsequent to the fifth time.
JP2002216309A 2002-07-25 2002-07-25 Pipeline processor and pipeline operation control method Withdrawn JP2004062281A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002216309A JP2004062281A (en) 2002-07-25 2002-07-25 Pipeline processor and pipeline operation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002216309A JP2004062281A (en) 2002-07-25 2002-07-25 Pipeline processor and pipeline operation control method

Publications (1)

Publication Number Publication Date
JP2004062281A true JP2004062281A (en) 2004-02-26

Family

ID=31938104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002216309A Withdrawn JP2004062281A (en) 2002-07-25 2002-07-25 Pipeline processor and pipeline operation control method

Country Status (1)

Country Link
JP (1) JP2004062281A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006016451A1 (en) * 2004-08-10 2006-02-16 Sony Computer Entertainment Inc. Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program
JP2006236325A (en) * 2005-01-25 2006-09-07 Matsushita Electric Ind Co Ltd Data processor
JP2007094669A (en) * 2005-09-28 2007-04-12 Yokogawa Electric Corp Pipeline processor
JP2007299355A (en) * 2006-05-08 2007-11-15 Oki Electric Ind Co Ltd Microprocessor
JP2007536798A (en) * 2004-05-04 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Synchronous pipeline with normally transparent pipeline stages
WO2008012874A1 (en) * 2006-07-25 2008-01-31 National University Corporation Nagoya University Operation processing device
JP2009037608A (en) * 2007-07-11 2009-02-19 Internatl Business Mach Corp <Ibm> Method, system and processor for controlling adaptive performance cycle for enhanced instruction throughput
WO2009118776A1 (en) * 2008-03-25 2009-10-01 富士通株式会社 Multiprocessor
JP2011108020A (en) * 2009-11-18 2011-06-02 Mitsubishi Electric Corp Signal processor
JP5126226B2 (en) * 2007-05-17 2013-01-23 富士通株式会社 Arithmetic unit, processor and processor architecture
TWI386849B (en) * 2005-03-31 2013-02-21 Intellectual Venture Funding Llc A method and system for elastic signal pipelining
JP2014160393A (en) * 2013-02-20 2014-09-04 Casio Comput Co Ltd Microprocessor and arithmetic processing method
GB2537523A (en) * 2014-09-30 2016-10-19 Imagination Tech Ltd Multimode variable length execution pipeline
CN113076277A (en) * 2021-03-26 2021-07-06 大唐微电子技术有限公司 Method and device for realizing pipeline scheduling, computer storage medium and terminal

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536798A (en) * 2004-05-04 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Synchronous pipeline with normally transparent pipeline stages
WO2006016451A1 (en) * 2004-08-10 2006-02-16 Sony Computer Entertainment Inc. Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program
JP4676888B2 (en) * 2005-01-25 2011-04-27 パナソニック株式会社 Data processing device
JP2006236325A (en) * 2005-01-25 2006-09-07 Matsushita Electric Ind Co Ltd Data processor
TWI386849B (en) * 2005-03-31 2013-02-21 Intellectual Venture Funding Llc A method and system for elastic signal pipelining
JP2007094669A (en) * 2005-09-28 2007-04-12 Yokogawa Electric Corp Pipeline processor
JP2007299355A (en) * 2006-05-08 2007-11-15 Oki Electric Ind Co Ltd Microprocessor
JP4747026B2 (en) * 2006-05-08 2011-08-10 Okiセミコンダクタ株式会社 Microprocessor
US7836326B2 (en) 2006-07-25 2010-11-16 National University Corporation Nagoya University Apparatus with variable pipeline stages via unification processing and cancellation
WO2008012874A1 (en) * 2006-07-25 2008-01-31 National University Corporation Nagoya University Operation processing device
JP5126226B2 (en) * 2007-05-17 2013-01-23 富士通株式会社 Arithmetic unit, processor and processor architecture
JP2009037608A (en) * 2007-07-11 2009-02-19 Internatl Business Mach Corp <Ibm> Method, system and processor for controlling adaptive performance cycle for enhanced instruction throughput
WO2009118776A1 (en) * 2008-03-25 2009-10-01 富士通株式会社 Multiprocessor
JP5170234B2 (en) * 2008-03-25 2013-03-27 富士通株式会社 Multiprocessor
JP2011108020A (en) * 2009-11-18 2011-06-02 Mitsubishi Electric Corp Signal processor
JP2014160393A (en) * 2013-02-20 2014-09-04 Casio Comput Co Ltd Microprocessor and arithmetic processing method
GB2537523A (en) * 2014-09-30 2016-10-19 Imagination Tech Ltd Multimode variable length execution pipeline
GB2537523B (en) * 2014-09-30 2017-09-27 Imagination Tech Ltd Multimode variable length execution pipeline
CN113076277A (en) * 2021-03-26 2021-07-06 大唐微电子技术有限公司 Method and device for realizing pipeline scheduling, computer storage medium and terminal
CN113076277B (en) * 2021-03-26 2024-05-03 大唐微电子技术有限公司 Method, device, computer storage medium and terminal for realizing pipeline scheduling

Similar Documents

Publication Publication Date Title
JP2004062281A (en) Pipeline processor and pipeline operation control method
US7020673B2 (en) Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system
JP5317356B2 (en) Clock control signal generation circuit, clock selector, and information processing apparatus
EP2762990B1 (en) Clock selection circuit and method
JP3656587B2 (en) Parallel operation processor, operation control method and program
US7600101B2 (en) Multithreaded hardware systems and methods
US8281113B2 (en) Processor having ALU with dynamically transparent pipeline stages
JP2009054192A (en) Integrated circuit power saving method
JP2008503827A (en) Instruction processing circuit
KR100471794B1 (en) Data processor having a variable number of pipeline stages
CN111984058A (en) Microprocessor system based on superconducting SFQ circuit and arithmetic device thereof
JP2000322403A (en) Control for plural equivalent function units for power reduction
WO2006092792A2 (en) Efficient machine state replication for multithreading
US20060184779A1 (en) Pipeline controller for context-based operation reconfigurable instruction set processor
US20030226000A1 (en) Collapsible pipeline structure and method used in a microprocessor
US6989686B2 (en) Logic circuit whose power switch is quickly turned on and off
JP2008542949A (en) Pipeline type microprocessor power saving system and power saving method
JP2008204177A (en) Array type processor with delay adjustment circuit
US20110029757A1 (en) Stream processor and task management method thereof
JP3183844B2 (en) Variable pipeline stage data processor
US8423725B1 (en) Multithreading implementation for flops and register files
JP2007166377A (en) Reconfigurable arithmetic operation circuit
JPH1091430A (en) Instruction decoding device
US7493508B2 (en) Information processing device, method, and program
US20090019268A1 (en) Processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004