(57)【特許請求の範囲】
【請求項１】
複数のステージに分けてパイプライン処理を行うデータ処理装置において、
各ステージに入力される制御信号に基づいて、各ステージでの処理を行う第１のパイプライン処理部と、
各ステージに入力される前記制御信号を所定のクロックでラッチする第１のラッチ手段と、
前記第１のパイプライン処理とは別個に、前記第１のラッチ手段でラッチした制御信号に基づいて各ステージでの処理を行う第２のパイプライン処理部と、を備えることを特徴とするデータ処理装置。
【請求項２】
前記第１のパイプライン処理部における、少なくとも一部のステージでの処理結果を前記所定のクロックでラッチする第２のラッチ手段を備え、
前記第２のパイプライン処理部は、前記第２のラッチ手段でラッチしたデータに対応するステージの処理を行う際に、前記第２のラッチ手段でラッチしたデータを利用して処理を行うことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記第２のパイプライン処理部における、少なくとも一部のステージでの処理結果を、前記所定のクロックでラッチする第３のラッチ手段と、
前記第３のラッチ手段でラッチする前のデータと、前記第３のラッチ手段でラッチしたデータとのいずれか一方を選択する選択手段と、を備え、
前記選択手段は、前記第２のパイプライン処理部での処理結果を前記第１のパイプライン処理部に伝送する際、前記第１のパイプライン処理部がストールしている場合には、ストール終了後に前記第３のラッチ手段のラッチ出力を選択して前記第１のパイプライン処理部に伝送し、前記第１のパイプライン処理部がストールしていない場合には、前記第２のパイプライン処理部での処理結果を選択して前記第１のパイプライン処理部に伝送することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記ラッチ手段は、各ステージを区切るクロックで前記制御信号をラッチすることを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記第２のパイプライン処理部は、前記第１のパイプライン処理部のステージを区切るクロックの１周期分以上遅れてパイプライン処理を行うことを特徴とする請求項１〜４のいずれかに記載のデータ処理装置。
【請求項６】
前記第１および第２のパイプライン処理部の一方は整数演算ユニットを含み、他方は整数ユニット以外の演算ユニットを含み、
前記第１および第２のパイプライン処理部の一方は、ロード／ストア演算ユニットおよび分岐演算ユニットの少なくとも一方を含むか、あるいは、ロード／ストア演算ユニットおよび分岐演算ユニットのいずれも含まないことを特徴とする請求項１〜５のいずれかに記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のステージに分けてパイプライン処理を行うデータ処理装置に関し、例えば、プロセッサの内部に実装されるもの等を対象とする。
【０００２】
【従来の技術】
マルチメディアや通信技術の発達により、プロセッサの処理性能の向上が強く望まれている。プロセッサの処理性能を向上させる手法として、動作クロック周波数の高速化と演算処理の並列化が挙げられる。
【０００３】
しかしながら、プロセッサ内部に複数の演算器を設けて演算処理を並列実行させるようにすると、回路規模が大きくなり、配線遅延によりタイミング的に処理が間に合わなくなるおそれがある。
【０００４】
一方、最近のプロセッサは、命令実行の高速化のため、各命令を複数のステージに分けてパイプライン処理することが多い。図１２はプロセッサ内部のパイプライン処理部の概略構成を示すブロック図、図１３は処理の流れを示す図である。
【０００５】
図１２に示すように、各命令は、５つのステージＡ〜Ｅに分けて順に実行される。各ステージには、図１２に示すように、入力データを同期化するフリップフロップ１１と、ロジック回路１２と、マルチプレクサ１３とが設けられ、マルチプレクサ１３の出力は次段のステージのフリップフロップ１１に入力される。
【０００６】
図１３のように、各命令をパイプライン処理することでプロセッサの処理性能の向上が図れるが、さらに処理性能を向上させるために、プロセッサ内部に複数のパイプライン処理部を設ける場合もある。
【０００７】
図１４はプロセッサ内部に複数のパイプライン処理部を設けた例を示すブロック図である。図１４の命令キャッシュ（ＩＣ）２１から読み出された命令は、命令レジスタ（ＩＲ）２２を経て、レジスタファイル（ＲＦ）２３にいったん格納された後、６つのパイプライン処理部（ＡＬＵ）２４のうち、空いているパイプライン処理部に供給されて命令が実行され、実行結果がレジスタファイル（ＲＦ）２５に書き戻される。
【０００８】
図１５は図１４のパイプライン処理部２４の入力付近の詳細構成を示すブロック図である。図示のように、レジスタファイル２３とパイプライン処理部２４の間には、マルチプレクサ２６と、フリップフロップ２７とが設けられる。各パイプライン処理部２３は並列的に処理を行うため、各マルチプレクサ２６には、共通の制御線から制御信号Ｃｏｎｔｒｏｌが供給され、この制御信号Ｃｏｎｔｒｏｌに基づいて各パイプライン処理部２４は演算処理を行う。
【０００９】
【発明が解決しようとする課題】
しかしながら、１本の制御線で複数のパイプライン処理部を制御するようにすると、パイプライン処理部の数が多いほど、また制御線の配線長が長いほど、制御信号のファンアウト（Ｆａｎｏｕｔ）が大きくなる。最近のプロセッサは、動作クロック周波数が非常に高いため、制御信号の遅延により、各ステージでの処理が間に合わなくなるおそれがある。
【００１０】
制御信号のファンアウトを小さくするには、制御線の配線長を短くするのが望ましいが、プロセッサの処理性能を高めるにはパイプライン処理部の数を増やさなければならないため、必然的に制御線の配線長は長くなってしまう。
【００１１】
制御信号のファンアウトを小さくする他の手法として、制御信号をツリー上にバッファリングして各パイプライン処理部に供給したり、あるいは、制御信号を予め複数生成しておく等が考えられる。
【００１２】
さらに、近年、プロセッサやＡＳＩＣの開発を行う場合に、予め用意された種々の機能ブロックを任意に組み合わせてＬＳＩの設計を行う手法が一般化してきた。このような設計手法を採用する場合、どのような機能ブロックが組み合わされるのか一意に特定できないため、予め余裕をもって各信号のファンアウトを設定するのが望ましい。しかしながら、従来は、タイミング的にクリティカルな信号のファンアウトを誤動作しないような値に設定するのが困難であった。
【００１３】
本発明は、このような点に鑑みてなされたものであり、その目的は、パイプラインを制御する制御信号のファンアウトを低減することができるデータ処理装置を提供することにある。
【００１４】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の発明は、複数のステージに分けてパイプライン処理を行うデータ処理装置において、各ステージに入力される制御信号に基づいて、各ステージでの処理を行う第１のパイプライン処理部と、各ステージに入力される前記制御信号を所定のクロックでラッチする第１のラッチ手段と、前記第１のパイプライン処理とは別個に、前記第１のラッチ手段でラッチした制御信号に基づいて各ステージでの処理を行う第２のパイプライン処理部と、を備える。
【００１５】
請求項１の発明では、制御信号を第１および第２のパイプライン処理部に供給する際、第２のパイプライン処理部には制御信号を第１のラッチ手段でラッチした信号を供給するため、制御信号のファンアウトを小さくすることができる。
【００１６】
請求項２の発明では、第１のパイプライン処理部の各ステージでの処理結果を第２のパイプライン処理部に伝送する場合には、この処理結果を第２のラッチ手段でラッチしてから第２のパイプライン処理部に伝送するため、第１および第２のパイプライン処理部の処理を並列的に実行することができる。
【００１７】
請求項３の発明では、第２のパイプライン処理部の各ステージでの処理結果を第１のパイプライン処理部に伝送する場合には、この処理結果を第３のラッチ手段でラッチしておくため、第１のパイプライン処理部がストールしていても、ストール終了後に所望のデータを伝送できる。これにより、ストールの有無にかかわらず、第２のパイプライン処理部から第１のパイプライン処理部にデータを電送できる。
【００１８】
請求項４の発明では、各ステージを区切るクロックで制御信号をラッチするため、各パイプライン処理部のステージでの処理に合わせて各ステージに制御信号を入力できる。
【００１９】
請求項５の発明では、第２のパイプライン処理部の処理と、第１のパイプライン処理部の処理とを時間的にずらして、かつ同期化させて行うことができる。
【００２０】
【発明の実施の形態】
以下、本発明に係るデータ処理装置について、図面を参照しながら具体的に説明する。以下では、プロセッサ内部に実装されるパイプライン処理部を例に取って説明する。
【００２１】
図１は本発明に係るデータ処理装置の一実施形態のブロック図である。図１のデータ処理装置は、５つのステージＡ〜Ｅに分けて処理を実行する第１のパイプライン処理部１と、第１のパイプライン処理部１よりも１ステージ分遅れて処理を実行する第２のパイプライン処理部２と、各ステージに入力される制御信号をラッチする複数のフリップフロップ（第１のラッチ手段）３とを備えている。
【００２２】
図１では、各ステージにそれぞれ別個の制御信号Ｃｏｎｔｒｏｌ−Ａ，Ｃｏｎｔｒｏｌ−Ｂ，Ｃｏｎｔｒｏｌ−Ｃ，Ｃｏｎｔｒｏｌ−Ｄ，Ｃｏｎｔｒｏｌ−Ｅが供給される例を示しているが、複数のステージに共通の制御信号を供給してもよい。
【００２３】
第１および第２のパイプライン処理部１，２は、同様に構成されており、各ステージごとに、フリップフロップ１１と、ロジック回路１２と、マルチプレクサ１３とを有する。
【００２４】
フリップフロップ１１は、各ステージを区切るクロックＣＬＫにより、前段の処理結果をラッチする。なお、図１ではフリップフロップ１１を一つだけ図示しているが、実際にはデータのビット数分のフリップフロップ１１が設けられている。
【００２５】
ロジック回路１２は、各ステージに入力される制御信号に基づいて所定の論理演算を行う。なお、ロジック回路１２は、制御信号を用いずに論理演算を行う場合もある。マルチプレクサ１３は、各ステージに入力される制御信号に基づいて、ロジック回路１２の出力か、あるいは次段のレジスタファイルの出力のいずれかを選択する。
【００２６】
図１のフリップフロップ３は、各ステージに入力される制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅを、各ステージを区切るクロックＣＬＫでラッチする。これにより、第２のパイプライン処理部２でのステージの処理タイミングに合わせて各制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅを遅延させることができる。以下では、遅延させた制御信号を遅延制御信号と呼ぶ。遅延制御信号は、第２のパイプライン処理部２での処理に用いられる。
【００２７】
制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅをフリップフロップ３でラッチする理由は、制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅのファンアウトを減らすためである。図１の第１のパイプライン処理部１には、制御線からの制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅが直接供給されるのに対し、第２のパイプライン処理部２には、いったんフリップフロップ３でラッチした遅延制御信号が供給される。このため、第２のパイプライン処理部２に供給される遅延制御信号は、制御線上の制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅのファンアウトの影響を受けなくなる。
【００２８】
図２は第１および第２のパイプライン処理部１，２の動作を説明する図であり、図２（ａ）はパイプライン処理がストールしていない場合の動作、図２（ｂ）はストールした場合の動作を示している。
【００２９】
図２に示すように、第１のパイプライン処理部１は、第２のパイプライン処理部２よりもクロックＣＬＫの１周期分だけ早く処理を行う。また、第１のパイプライン処理部１が何らかの理由でストールした場合には、図２（ｂ）の期間Ｔ３，Ｔ４に示すように処理が中断され、それに応じて、第２のパイプライン処理部２も処理が中断される（期間Ｔ４，Ｔ５）。
【００３０】
図１のデータ処理装置は、第１および第２のパイプライン処理部１，２の間でデータの受け渡しを行うことを考慮に入れていないが、第１および第２のパイプライン処理部１，２での処理結果を、それぞれ他方のパイプライン処理部に伝送できるようにしてもよい。
【００３１】
例えば、図３は第１のパイプライン処理部１での処理結果を第２のパイプライン処理部２に伝送できるようにしたデータ処理装置の一例を示すブロック図である。第１のパイプライン処理部１は第２のパイプライン処理部２よりもクロックＣＬＫの１周期分早く処理を行うため、第１のパイプライン処理部１から第２のパイプライン処理部２にデータを伝送する場合には、伝送するデータを第２のパイプライン処理部２のタイミングに合わせる必要がある。
【００３２】
このため、図３では、第１のパイプライン処理部１のステージＣ内のロジック回路１２の出力をラッチするフリップフロップ（第２のラッチ手段）１４を設けている。このフリップフロップ１４は、ステージを区切るクロックＣＬＫに同期してロジック回路１２の出力をラッチし、ラッチしたデータを第２のパイプライン処理部２内のロジック回路１２に供給する。第２のパイプライン処理部２は、第１のパイプライン処理部１よりも１クロック遅れて動作するため、第１のパイプライン処理部１のステージＣでの処理結果を受け取って、ステージＣでの処理を行うことができる。
【００３３】
なお、図３では、第１のパイプライン処理部１のステージＣの処理結果を第２のパイプライン処理部２に伝送する例を示したが、他のステージの処理結果を第２のパイプライン処理部２に伝送する場合には、伝送元のステージに図３と同様のフリップフロップ１４を設ければよい。
【００３４】
一方、図４は第２のパイプライン処理部２での処理結果を第１のパイプライン処理部１に伝送できるようにしたデータ処理装置の一例を示すブロック図である。
【００３５】
第２のパイプライン処理部２は、第１のパイプライン処理部１よりも１クロック遅れて動作するため、第２のパイプライン処理部２のあるステージでの処理結果を第１のパイプライン処理部１に伝送する場合は、一つ先のステージに送ることになる。例えば図４は、第２のパイプライン処理部２のステージＣでの処理結果を、第１のパイプライン処理部１のステージＤに伝送する例を示している。
【００３６】
第２のパイプライン処理部２から第１のパイプライン処理部１にデータを伝送する際、場合によっては、第１のパイプライン処理部１がストールしていることも考えられる。この場合、第１のパイプライン処理部１が処理を再開するまで、伝送すべきデータを保持しておかなければならない。
【００３７】
そこで、図４では、第２のパイプライン処理部２から第１のパイプライン処理部１に伝送すべきデータをラッチするフリップフロップ（第３のラッチ手段）１５と、このフリップフロップ１５の出力と第２のパイプライン処理部２のステージＣでの処理結果とのいずれかを選択するマルチプレクサ（選択手段）１６とを有する。
【００３８】
マルチプレクサ１６は、第２のパイプライン処理部２のステージＣでの処理結果が得られた時点で第１のパイプライン処理部１がストールしていなければ、この処理結果を選択して第１のパイプライン処理部１のステージＤに伝送する。また、第２のパイプライン処理部２のステージＣでの処理結果が得られた時点で第１のパイプライン処理部１がストールしていれば、ストールが終了するまでステージＣでの処理結果をフリップフロップ１５でラッチする。
【００３９】
なお、図４では、第２のパイプライン処理部２のステージＣでの処理結果をラッチするフリップフロップとマルチプレクサ１６を設ける例を示したが、図４のフリップフロップとマルチプレクサ１６を他のステージに設けてもよい。また、図３のフリップフロップ１４と図４のフリップフロップ１５およびマルチプレクサ１６とを設けてもよい。
【００４０】
このように、本実施形態では、複数のパイプライン処理部で並列的に処理を行う場合に、一部のパイプライン処理部については、各ステージに入力される制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅをいったんフリップフロップ３でラッチした遅延制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅに基づいて各ステージでの処理を行うため、制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅのファンアウトが小さくなり、制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅの信号遅延を低減することができる。また、制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅを伝送する制御線の配線長が長くても、途中にフリップフロップ３を設けてクロックに同期化させることができるため、従来よりも制御線の配線長を長くすることができる。
【００４１】
さらに、パイプライン処理部の数が多くても、その数に応じた数量のフリップフロップ３を設ければよいため、パイプライン処理部の数に関係なく動作を安定化させることができる。
【００４２】
上述した実施形態では、データ処理装置内に２つのパイプライン処理部１，２を設ける例を説明したが、パイプライン処理部の数やパイプラインの段数には特に制限はない。
【００４３】
また、図１では、ステージを区切るクロックＣＬＫで制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅをラッチする例を示したが、クロックＣＬＫとは別個のタイミングで制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｅをラッチしてもよい。
【００４４】
図３では、左側のパイプライン処理部内のステージＣの論理回路ＬＯＧＩＣ−Ｃ１とマルチプレクサＭＵＸ−Ｃ１に入力される制御信号Ｃｏｎｔｏｒｏｌ−Ｃをフリップフロップでラッチした遅延制御信号を、右側のパイプライン処理部内のステージＣに供給する例を説明しているが、この制御信号Ｃｏｎｔｒｏｌ−Ｃと遅延制御信号は、各パイプライン処理部の複数箇所で利用される場合がある。
【００４５】
図５は、バッファから出力される制御信号を第１のパイプライン処理部１で複数に分岐させ、そのうちの一つの分岐信号をフリップフロップでラッチして遅延制御信号を生成し、生成した遅延制御信号を第２のパイプライン処理部２でさらに複数に分岐させる例を示している。
【００４６】
このように、制御信号の分岐先が多い場合には、分岐する途中にバッファとフリップフロップを間に介挿させることにより、制御信号のファンアウトが増大するのを防止できる。また、第１および第２のパイプライン処理部１，２がダイ上の互いに離れた位置に実装される場合でも、各パイプライン処理部の間にフリップフロップを設けて制御信号をラッチすることにより、クロックのエッジからのずれを低減できる。
【００４７】
一方、図６はプロセッサ内の構成を示す図であり、命令キャッシュ３１から命令レジスタ３２を経由したデータは、第１のパイプライン処理部１には直接供給され、第２のパイプライン処理部２にはいったんフリップフロップ３でラッチされた後に供給される例を示している。
【００４８】
第１のパイプライン処理部１は、第２のパイプライン処理部２よりも１ステージ分先に処理を実行する。したがって、第１のパイプライン処理部１から第２のパイプライン処理部２にデータを送る場合には、フリップフロップ３でいったんデータをラッチしてタイミング調整を行う。逆に、第２のパイプライン処理部２から第１のパイプライン処理部１にデータを送る場合には、フリップフロップは不要である。
【００４９】
図６の第１のパイプライン処理部１は、整数ユニット・パイプライン、ロード／ストアユニット・パイプライン、および分岐ユニット・パイプラインを有し、各パイプラインはデータキャッシュとの間でデータのやり取りを行う。また、第２のパイプライン処理部２は、浮動小数点ユニット・パイプラインとマルチメディアユニット・パイプラインとを有する。
【００５０】
なお、第１および第２のパイプライン処理部１，２の内部に設けられるパイプラインの種類には特に制限はなく、図６に示したものに限定されない。
【００５１】
例えば、第２のパイプライン処理部２に整数ユニットパイプラインやロード／ストアユニットパイプラインを設けてもよく、あるいは、第１のパイプライン処理部１に浮動小数点パイプラインやマルチメディアユニット・パイプラインを設けてもよい。
【００５２】
一方、図７は複数データストリーム（ＳＩＭＤ）命令型のプロセッサの内部構成を示すブロック図である。図示のように、第１および第２のパイプライン処理部１，２の内部にはそれぞれ複数の演算器（ＡＬＵ）２４が設けられている。命令キャッシュ３１から命令レジスタ３２を経由したデータは、第１のパイプライン処理部１にはそのまま供給され、第２のパイプライン処理部２にはいったんフリップフロップ３でラッチされた後に供給される。また、第１のパイプライン処理部１は、第２のパイプライン処理部２よりも１ステージ分先に処理を行うため、第１のパイプライン処理部１から第２のパイプライン処理部２にデータを送る際には、このデータをいったんフリップフロップ３でラッチする。逆に、第２のパイプライン処理部２から第１のパイプライン処理部１にデータを送る際には、フリップフロップは不要である。
【００５３】
ところで、図１等では、第２のパイプライン処理部２が第１のパイプライン処理部１よりも１ステージ（１クロック）分遅れて処理を行う例を説明したが、１ステージ分以外の遅れ量で第２のパイプライン処理部２が処理を行ってもよい。
【００５４】
例えば、図８は第２のパイプライン処理部２が第１のパイプライン処理部１よりも半クロック分遅れて処理を行う例を示している。図８は図１のフリップフロップ３の代わりにラッチ３ａを備えており、各ラッチ３ａは、ステージを区切るクロックＣＬＫの立ち下がりエッジで制御信号Ｃｏｎｔｒｏｌ−Ａ〜Ｃをラッチし、ラッチした遅延制御信号を第２のパイプライン処理部２に供給する。
【００５５】
図９はラッチ３ａの詳細構成を示す図である。図示のように、ラッチ３ａは、フリップフロップと異なり、端子Ｅがハイレベルであれば、入力端子Ｄに入力されたデータを端子Ｑから出力し、端子Ｅがローレベルになると、その直前の入力端子Ｄの論理を保持する。
【００５６】
一方、図１０は図３に対応するものであり、第１のパイプライン処理部１のステージＣにおける論理回路ＬＯＧＩＣ−Ｃ１の演算結果を、ラッチ３ａにて、クロックＣＬＫの立ち下がりエッジでラッチした結果を第２のパイプライン処理部２のステージＣに供給する例を示している。
【００５７】
一方、図１１は図４に対応するものであり、第２のパイプライン処理部２から第１のパイプライン処理部１にデータを送る例を示している。第２のパイプライン処理部２の内部には、縦続接続された二段のラッチ３ａと、マルチプレクサ１３とが設けられている。一段目のラッチ３ａはクロックＣＬＫがハイレベルのときにマルチプレクサ１３の出力をラッチし、二段目のラッチ３ａはクロックＣＬＫがローレベルのときに一段目のラッチ３ａの出力をラッチする。一段目のラッチ３ａの出力が第１のパイプライン処理部１に送られる。
【００５８】
また、マルチプレクサ１３は、クロックＣＬＫの立ち下がりでラッチ動作を行うラッチの出力に応じて、二段目のラッチの出力とステージＢからのデータとのいずれかを選択する。
【００５９】
【発明の効果】
以上詳細に説明したように、本発明によれば、制御信号をすべてのパイプライン処理部に直接供給するのではなく、少なくとも一部のパイプライン処理部については、制御信号をいったん第１のラッチ手段でラッチしてから供給するため、制御信号のファンアウトを小さくすることができる。したがって、パイプライン処理部の数が多くても、制御信号の伝搬遅延を低減できる。また、制御信号を伝送する制御線の配線長が長くなっても、途中でクロックに同期化させることで、配線遅延の影響を受けなくなる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の一実施形態のブロック図。
【図２】（ａ），（ｂ）は第１および第２のパイプライン処理部１，２の動作を説明する図。
【図３】第１のパイプライン処理部１１での処理結果を第２のパイプライン処理部２に伝送できるようにしたデータ処理装置の一例を示すブロック図。
【図４】第２のパイプライン処理部２２での処理結果を第１のパイプライン処理部１に伝送できるようにしたデータ処理装置の一例を示すブロック図。
【図５】制御信号を第１および第２のパイプライン処理部内で複数に分岐する例を示す図。
【図６】プロセッサ内の構成を示す図。
【図７】複数データストリーム（ＳＩＭＤ）命令型のプロセッサの内部構成を示すブロック図。
【図８】第２のパイプライン処理部が第１のパイプライン処理部よりも半クロック分遅れて処理を行う例を示す図。
【図９】ラッチの詳細構成を示す図。
【図１０】図３に対応する図で、第２のパイプライン処理部が第１のパイプライン処理部より半クロック遅れて処理を行う図。
【図１１】図４に対応する図で、第２のパイプライン処理部が第１のパイプライン処理部より半クロック遅れて処理を行う図。
【図１２】プロセッサ内部のパイプライン処理部の概略構成を示すブロック図。
【図１３】図１２の処理の流れを示す図。
【図１４】プロセッサ内部に複数のパイプライン処理部を設けた例を示すブロック図。
【図１５】図１４のパイプライン処理部の入力付近の詳細構成を示すブロック図。
【符号の説明】
１  第１のパイプライン処理部１
２  第２のパイプライン処理部２
３，１１，１４，１５，２６  フリップフロップ
１２  ロジック回路
１３，１６，２５  マルチプレクサ
２１  命令キャッシュ３１
２２  命令レジスタ３２
２３  パイプライン処理部
２４  レジスタファイル
【図１】
0003593490.tif 000002
【図２】
0003593490.tif 000003
【図３】
0003593490.tif 000004
【図４】
0003593490.tif 000005
【図５】
0003593490.tif 000006
【図６】
0003593490.tif 000007
【図７】
0003593490.tif 000008
【図８】
0003593490.tif 000009
【図９】
0003593490.tif 000010
【図１０】
0003593490.tif 000011
【図１１】
0003593490.tif 000012
【図１２】
0003593490.tif 000013
【図１３】
0003593490.tif 000014
【図１４】
0003593490.tif 000015
【図１５】
0003593490.tif 000016