(57)【特許請求の範囲】
【請求項１】
構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコンフィギュラブル回路において、
前記複数のプロセッシングエレメントの前記構成情報が記憶される複数の記憶部と、
前記複数のプロセッシングエレメントによって処理されるパイプライン処理の各段における前記構成情報を、前記複数の記憶部を切替えて記憶していく記憶切替え部と、
前記複数の記憶部を切替えて、前記構成情報を前記複数のプロセッシングエレメントに出力する構成情報出力部と、
を有することを特徴とするリコンフィギュラブル回路。
【請求項２】
前記複数の記憶部は、様々な前記パイプライン処理に対応できるように複数具備されることを特徴とする請求の範囲第１項記載のリコンフィギュラブル回路。
【請求項３】
前記構成情報出力部は、前記記憶切替え部の切替えに連動して前記複数の記憶部を切替えることを特徴とする請求の範囲第１項記載のリコンフィギュラブル回路。
【請求項４】
前記記憶切替え部は、前記構成情報を前記複数の記憶部に記憶できなくなった場合、前記構成情報を記憶していく前記複数の記憶部を増加することを特徴とする請求の範囲第１項記載のリコンフィギュラブル回路。
【請求項５】
前記記憶切替え部は、前記構成情報を前記複数の記憶部に記憶できなくなった場合、空き領域を有している前記複数の記憶部に前記構成情報を記憶することを特徴とする請求の範囲第１項記載のリコンフィギュラブル回路。
【請求項６】
前記複数のプロセッシングエレメントから出力されるデータを一時退避するための記憶装置をさらに有することを特徴とする請求の範囲第１項記載のリコンフィギュラブル回路。
【請求項７】
構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコンフィギュラブル回路の制御方法において、
記憶切替え部によって、前記複数のプロセッシングエレメントによって処理されるパイプライン処理の各段における前記構成情報を、前記複数のプロセッシングエレメントの前記構成情報が記憶される複数の記憶部を切替えて記憶し、
構成情報出力部によって、前記複数の記憶部を切替えて、前記構成情報を前記複数のプロセッシングエレメントに出力する、
ことを特徴とするリコンフィギュラブル回路の制御方法。
【請求項８】
構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコン
フィギュラブル回路の制御方法において、
記憶領域が前記複数のプロセッシングエレメントに対応して区切られた、前記複数のプロセッシングエレメントによって処理されるパイプライン処理の各段における前記構成情報が記憶される記憶部の数を記憶部数算出部によって算出し、
記憶領域判断部によって、前記パイプライン処理の１段目から順に前記数の前記記憶部を切替えながら前記構成情報を記憶できる前記記憶領域が存在するか判断する、
ことを特徴とするリコンフィギュラブル回路の制御方法。
【請求項９】
前記記憶領域判断部は、前記構成情報を記憶できる前記記憶領域が存在しない場合、前記数を１増加させて前記判断を再び行うことを特徴とする請求の範囲第８項記載のリコンフィギュラブル回路の制御方法。
【請求項１０】
前記記憶領域判断部は、前記構成情報を記憶できる前記記憶領域が存在する場合、前回前記構成情報が記憶された前記記憶領域に対応する前記プロセッシングエレメントの出力信号を入力することが可能な前記記憶領域が存在するか判断することを特徴とする請求の範囲第８項記載のリコンフィギュラブル回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法に関し、特に構成情報によって構成が再構成される複数のプロセッシングエレメントを有するリコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法に関する。
【背景技術】
【０００２】
従来、再構成可能な演算器群を有するリコンフィギュラブル回路がある。リコンフィギュラブル回路は、コンフィギュレーションデータに基づいて演算器群を構成し、様々な処理を行うことができる。このようなリコンフィギュラブル回路において、１つのパイプライン処理を実装することができない場合、リコンフィギュラブル回路をパイプライン段ごとに分割して、各段の処理を逐次切替えて実装する方法が提案されている（例えば、非特許文献１参照）。【０００３】
図１０は、従来のリコンフィギュラブル回路の回路ブロック図である。
図に示すように、リコンフィギュラブル回路は、プロセッシングエレメント（ＰＥ：Processing Element）１０１ａ〜１０１ｄおよびネットワーク１０２を有している。【０００４】
ＰＥ１０１ａ〜１０１ｄの各々は、例えば、ＡＬＵ（Arithmetic Logical Unit）や乗算器、加算器を複数有している。ＰＥ１０１ａ〜１０１ｄの各々のＡＬＵや乗算器、加算機は、パイプライン処理の１段の処理を行えるように、コンフィギュレーションデータに基づいて構成される。【０００５】
ネットワーク１０２は、ＰＥ１０１ａ〜１０１ｄがパイプライン処理を行うことができるように、コンフィギュレーションデータに基づいて、ＰＥ１０１ａ〜１０１ｄを接続する。【０００６】
ここで、パイプライン処理とは、順次入力されるデータに対し、順次演算を行う処理をいう。例えば、ＦＩＲ（Finite Impulse Response）フィルタで示される積和演算は、順次入力されるデータに対し、順次積和演算をしていくパイプライン処理である。また、オペレーションとは、順次行われる演算のうちの、１つの演算をいう。例えば、前述した積和演算であれば、順次入力されるデータに対し、順次積和演算が行われるが、そのうちの１つの積和演算が１つのオペレーションとなる。また、パイプライン処理は、複数の段に分かれ、１つの段で１または２以上のオペレーションが行われる。【０００７】
図１１は、パイプライン処理を示した図である。
図に示すパイプライン処理１１１は、オペレーションＯＰ１〜ＯＰ８で１つのパイプライン処理を行う。図に示す矢印は、データの流れを示し、オペレーションＯＰ１に処理されるデータが順次入力されるとする。なお、前述した積和演算を例に説明すると、オペレーションＯＰ１〜ＯＰ８は、オペレーションＯＰ１に入力されるデータに対し、８段の積和演算を行い、オペレーションＯＰ１〜ＯＰ８の各々は、１つの積和演算を行う。【０００８】
パイプライン処理１１１の図１０のリコンフィギュラブル回路への実装について説明する。上記でも説明したように、図１０に示すリコンフィギュラブル回路のＰＥ１０１ａ〜１０１ｄの各々には、パイプライン処理の１段のオペレーションが割り当てられる。８段のオペレーションＯＰ１〜ＯＰ８に対し、ＰＥ１０１ａ〜１０１ｄは４つであるので、１サイクルごとに、オペレーションＯＰ１〜ＯＰ８のＰＥ１０１ａ〜１０１ｄへの割り当てを切替えてパイプライン処理を行う。【０００９】
図１２は、図１０のリコンフィギュラブル回路における図１１のパイプライン処理の流れを示した図である。
図に示す四角は、図１０のＰＥ１０１ａ〜１０１ｄを示している。また、四角の中には、ＰＥ１０１ａ〜１０１ｄに割り当てられたオペレーションＯＰ１〜ＯＰ８を示している。なお、処理されるデータは、オペレーションＯＰ１から順次入力される。【００１０】
サイクル１のとき、ＰＥ１０１ａには、オペレーションＯＰ１が割り当てられ、データが入力される。サイクル２のとき、ＰＥ１０１ｂには、オペレーションＯＰ２が割り当てられる。このとき、ＰＥ１０１ｂには、サイクル１で処理されたオペレーションＯＰ１のデータが入力され、オペレーションＯＰ１には、次のデータが入力される。順次、サイクル３，４と、ＰＥ１０１ｃ，１０１ｄにオペレーションＯＰ３，ＯＰ４が割り当てられ、前段（前サイクル）のオペレーションＯＰ２，ＯＰ３のデータが入力される。また、オペレーションＯＰ１には、順次データが入力される。【００１１】
サイクル５になると、オペレーションＯＰ５を割り当てる新たなＰＥが存在しないので、ＰＥ１０１ａにオペレーションＯＰ５を割り当てる。そして、ＰＥ１０１ｄ（オペレーションＯＰ４）で処理されたデータを、ＰＥ１０１ａ（オペレーションＯＰ５）に出力するように構成する。【００１２】
サイクル６〜８では、順次ＰＥ１０１ｂ〜１０１ｄにオペレーションＯＰ６〜ＯＰ８が割り当てられ、前段（前サイクル）のオペレーションＯＰ５〜ＯＰ７のデータが入力される。なお、サイクル５〜８では、新たなデータは入力されない。オペレーションＯＰ１〜ＯＰ４がＰＥ１０１ａ〜１０１ｄに割り当てられておらず、パイプライン処理を行えないからである。図示していないが、サイクル９のとき、ＰＥ１０１ａには、オペレーションＯＰ１が割り当てられ、次のデータが入力される。【００１３】
このように、ＰＥ１０１ａ〜１０１ｄに分割して、各段のパイプライン処理を逐次切替えて実装する方法は、ＰＥ１０１ａ〜１０１ｄに実装可能なパイプライン段を一度に実装する方法に対し、処理時間が短くなる。１度に実装する方法では、実装されたパイプライン段の処理が終わると、処理結果を記憶装置に一時退避して、それから、次に続くパイプライン段をＰＥ１０１ａ〜１０１ｄに実装しなければならないからである。これに対し、各段のパイプライン処理を逐次切替えて実装する方法では、処理結果を記憶装置に一時退避することがないため、処理時間が短くなる。【００１４】
次に、パイプライン処理のある段において、同時に複数のオペレーションを実行しなければならない場合について説明する。この場合、プロセッシングエレメントに複数のパイプライン段を同時に割り当てる必要がある。【００１５】
図１３は、プロセッシングエレメントに複数のパイプライン段を同時に割り当てる場合のパイプライン処理を示した図である。
図に示すパイプライン処理１１２では、１段目にオペレーションＯＰ１，ＯＰ２が処理される。２段目にオペレーションＯＰ３，ＯＰ４が処理される。以後、順次各段で、オペレーションＯＰ５〜ＯＰ７が処理される。図に示す矢印は、データの流れを示し、オペレーションＯＰ１，ＯＰ２には、処理されるデータが順次入力されるとする。このパイプライン処理１１２の図１０のリコンフィギュラブル回路への実装について説明する。【００１６】
図１４は、図１０のリコンフィギュラブル回路における図１３のパイプライン処理の流れを示した図である。
図に示す四角は、図１０のＰＥ１０１ａ〜１０１ｄを示している。また、四角の中には
、ＰＥ１０１ａ〜１０１ｄに割り当てられたオペレーションＯＰ１〜ＯＰ７を示している。処理されるデータは、オペレーションＯＰ１，ＯＰ２から順次入力される。ｎｏｎｅは、オペレーションが割り当てられていない状態を示している。【００１７】
図１３に示すパイプライン処理１１２の１段目は、オペレーションＯＰ１，ＯＰ２と、２つのオペレーションを実行しなければならない。また、パイプライン処理１１２の２段目は、オペレーションＯＰ３，ＯＰ４と、２つのオペレーションを実行しなければならない。そのため、図１０に示すリコンフィギュラブル回路は、図１４に示すように、ＰＥ１０１ａ，１０１ｂとＰＥ１０１ｃ，１０１ｄを、同時に２つのオペレーションを実行できるように構成する必要がある。【００１８】
サイクル１のとき、ＰＥ１０１ａ，１０１ｂには、オペレーションＯＰ１，ＯＰ２が割り当てられ、それぞれにデータが入力される。サイクル２のとき、ＰＥ１０１ｃ，１０１ｄには、オペレーションＯＰ３，ＯＰ４が割り当てられる。このとき、ＰＥ１０１ｃ，１０１ｄには、サイクル１で処理されたオペレーションＯＰ１，ＯＰ２のデータが入力される。また、オペレーションＯＰ１，ＯＰ２には、次のデータが入力される。サイクル３〜５と、順次ＰＥ１０１ａ，１０１ｂとＰＥ１０１ｃ，１０１ｄにオペレーションＯＰ５〜ＯＰ７が割り当てられ、前段のデータが入力される。【００１９】
オペレーションＯＰ５〜ＯＰ７は、図１３に示すように１段で１つずつ処理される必要があるため、ＰＥ１０１ａ，１０１ｂおよびＰＥ１０１ｃ，１０１ｄに１ずつしか実装することができない。前述したように、ＰＥ１０１ａ，１０１ｂとＰＥ１０１ｃ，１０１ｄは、同時に２つのオペレーションを実行できるように構成されているからである。よって、ＰＥ１０１ａ，１０１ｂとＰＥ１０１ｃ，１０１ｄは、一方のプロセッシングエレメントが空き状態（ｎｏｎｅ）となり、実装効率が低くなる。【００２０】
サイクル６では、サイクル５に続いてＰＥ１０１ａ，１０１ｂにオペレーションＯＰ７を実装する必要がある。これは、サイクル１で入力されたデータは、サイクル５でオペレーションＯＰ７の処理が行われ終了するが、サイクル２で入力されたデータは、サイクル５では、まだ、オペレーションＯＰ６までの処理しか行われておらず、サイクル６でオペレーションＯＰ７の処理を行う必要があるからである。なお、サイクル３〜サイクル６では、データは入力されず、次にデータが入力できるのは、次のサイクル７となる。【００２１】
図１５は、図１３のパイプライン処理のデータの入出力タイミングを示したタイミングチャートである。
図に示すＣＬＫは、オペレーションが実行されるタイミングを示している。ＩＮは、オペレーションＯＰ１，ＯＰ２に入力されるデータのタイミングを示している。ＯＵＴは、オペレーションＯＰ７から出力されるデータのタイミングを示している。【００２２】
図に示すようにＣＬＫ１，２（ＣＬＫは図１４に示しているサイクルに対応する）において、オペレーションＯＰ１，ＯＰ２にデータが入力される。ＣＬＫ１で入力されたデータは、図１４で説明したようにＣＬＫ５でオペレーションＯＰ７の処理が行われる。よって、ＣＬＫ１で入力されたデータは、図１５に示すようにＣＬＫ６で出力される。ＣＬＫ２で入力されたデータは、図１４で説明したようにＣＬＫ６でオペレーションＯＰ７の処理が行われる。よって、ＣＬＫ２で入力されたデータは、図１５に示すようにＣＬＫ７で出力される。オペレーションＯＰ１，ＯＰ２は、ＣＬＫ７でＰＥ１０１ａ，１０１ｂに再び実装され、次のデータが入力される。
【非特許文献１】H.Schmit,"Incremenntal Reconfiguration for Pipelined Applications",Proceedings of the IEEE Symposium on FPGAs for Custom Computiong Machines(FCCM),P.47-55,1997
【発明の開示】
【発明が解決しようとする課題】
【００２３】
このように、パイプライン処理のある段において、同時に複数のオペレーションが実行される場合、プロセッシングエレメントに複数のオペレーションを同時に割り当てる必要がある。この場合、パイプライン処理のプロセッシングエレメントへの実装効率が低くなり、処理性能が低下するという問題点があった。【００２４】
本発明はこのような点に鑑みてなされたものであり、パイプライン処理のプロセッシングエレメントへの実装効率を高め、処理性能を向上させるリコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明では上記問題を解決するために、図１に示すような構成情報によって構成が再構成される複数のプロセッシングエレメント（ＰＥ）４ａ〜４ｄを有するリコンフィギュラブル回路において、複数のＰＥ４ａ〜４ｄの構成情報が記憶される複数の記憶部１ａ，１ｂと、複数のＰＥ４ａ〜４ｄによって処理されるパイプライン処理５の各段における構成情報を、複数の記憶部１ａ，１ｂを切替えて記憶していく記憶切替え部２と、複数の記憶部１ａ，１ｂを切替えて、構成情報を複数のＰＥ４ａ〜４ｄに出力する構成情報出力部３と、を有することを特徴とするリコンフィギュラブル回路が提供される。【００２６】
このようなリコンフィギュラブル回路によれば、複数の記憶部１ａ，１ｂを具備し、パイプライン処理５の各段の構成情報を切替えて記憶していく。そして、複数の記憶部１ａ，１ｂを切替えて、構成情報を複数のＰＥ４ａ〜４ｄに出力する。よって、仮想的に、パイプライン処理の全段をＰＥ４ａ〜４ｄに割り当てることができる。
【発明の効果】
【００２７】
本発明のリコンフィギュラブル回路では、複数の記憶部を具備し、パイプライン処理の各段の構成情報を切替えて記憶していく。そして、複数の記憶部を切替えて、構成情報を複数のプロセッシングエレメントに出力するようにした。これによって、仮想的に、パイプライン処理の全段をプロセッシングエレメントに割り当てることができ、パイプライン処理のプロセッシングエレメントへの実装効率が向上し、処理性能を向上することができる。【００２８】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００２９】
【図１】リコンフィギュラブル回路の概要を説明する図である。
【図２】第１の実施の形態に係るリコンフィギュラブル回路の回路ブロック図である。
【図３】コンフィギュレーション切替え部の回路ブロック図である。
【図４】ネットワークの回路ブロック図である。
【図５】図２のリコンフィギュラブル回路における図１３のパイプライン処理の流れを示した図である。
【図６】図２のリコンフィギュレーション回路における図１３のパイプライン処理のデータの入出力タイミングを示したタイミングチャートである。
【図７】図３のコンフィギュレーションロード部の動作を説明する図である。
【図８】第２の実施の形態を説明するためのパイプライン処理を示した図である。
【図９】フリップフロップを有したリコンフィギュラブル回路における図８のパイプライン処理の流れを示した図である。
【図１０】従来のリコンフィギュラブル回路の回路ブロック図である。
【図１１】パイプライン処理を示した図である。
【図１２】図１０のリコンフィギュラブル回路における図１１のパイプライン処理の流れを示した図である。
【図１３】プロセッシングエレメントに複数のパイプライン段を同時に割り当てる場合のパイプライン処理を示した図である。
【図１４】図１０のリコンフィギュラブル回路における図１３のパイプライン処理の流れを示した図である。
【図１５】図１３のパイプライン処理のデータの入出力タイミングを示したタイミングチャートである。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、リコンフィギュラブル回路の概要を説明する図である。
図に示すようにリコンフィギュラブル回路は、記憶部１ａ，１ｂ、記憶切替え部２、構成情報出力部３、およびＰＥ４ａ〜４ｄを有している。また、図には、リコンフィギュラブル回路によって処理されるパイプライン処理５が示してある。【００３１】
記憶部１ａ，１ｂは、ＰＥ４ａ〜４ｄの構成情報が記憶される。ＰＥ４ａ〜４ｄは、記憶部１ａ，１ｂに記憶される構成情報によって、回路が構成され、所定の処理を行う。
記憶切替え部２は、ＰＥ４ａ〜４ｄによって処理されるパイプライン処理５の各段における構成情報を、１段目から順に、記憶部１ａ，１ｂを切替えて記憶していく。なお、パイプライン処理５の１段目では、オペレーションＯＰ１，２が行われ、２段目では、オペレーションＯＰ３，ＯＰ４が行われる。３段目〜５段目では、オペレーションＯＰ５〜ＯＰ７が行われる。そして、オペレーションＯＰ１，ＯＰ２において、データが順次入力されるとする。また、オペレーションＯＰ１〜ＯＰ７の処理をＰＥ４ａ〜４ｄで実現するための構成情報をＯＰＣ１〜ＯＰＣ７とする。【００３２】
構成情報出力部３は、記憶部１ａ，１ｂを切替えて、記憶部１ａ，１ｂに記憶されている構成情報を、複数のＰＥ４ａ〜４ｄに出力する。
図１の動作について説明する。記憶切替え部２は、記憶部１ａからパイプライン処理５の１段目の構成情報ＯＰＣ１，ＯＰＣ２を記憶し、以後、記憶部１ａ，１ｂを交互に切替えて、各段の構成情報ＯＰＣ３〜ＯＰＣ７を記憶していくとする。また、構成情報出力部３は、記憶部１ａから構成情報をＰＥ４ａ〜４ｄに出力し、以後、交互に記憶部１ａ，１ｂを切替えて構成情報を出力していくとする。【００３３】
まず、記憶切替え部２は、パイプライン処理５の１段目におけるオペレーションＯＰ１，ＯＰ２の構成情報ＯＰＣ１，ＯＰＣ２を、記憶部１ａに記憶する。構成情報出力部３は、記憶部１ａの構成情報ＯＰＣ１，ＯＰＣ２をＰＥ４ａ，４ｂに出力する。ＰＥ４ａ，４ｂには、構成情報ＯＰＣ１，ＯＰＣ２に従った回路が構成される。これによって、オペレーションＯＰ１，ＯＰ２にデータが入力され、処理される。【００３４】
次に、記憶切替え部２は、パイプライン処理５の２段目におけるオペレーションＯＰ３，ＯＰ４の構成情報ＯＰＣ３，ＯＰＣ４を、記憶部１ｂに記憶する。構成情報出力部３は、記憶部１ｂの構成情報ＯＰＣ３，ＯＰＣ４をＰＥ４ａ，４ｂに出力する。ＰＥ４ａ，４ｂには、構成情報ＯＰＣ３，ＯＰＣ４に従った回路が構成される。これによって、オペレーションＯＰ３，ＯＰ４が処理される。【００３５】
なお、パイプライン処理５に示すように、オペレーションＯＰ３，ＯＰ４は、オペレー
ションＯＰ１，ＯＰ２からデータが入力される。よって、構成情報ＯＰＣ３は、少なくとも、ＰＥ４ａが自分自身のデータ（前回処理されたオペレーションＯＰ１のデータ）を入力し、ＰＥ４ｂから出力されるデータ（前回処理されたオペレーションＯＰ２のデータ）を入力するという接続関係を有していることになる。また、構成情報ＯＰＣ４は、ＰＥ４ｂが自分自身のデータ（前回処理されたオペレーションＯＰ２のデータ）を入力し、ＰＥ４ａから出力されるデータ（前回処理されたオペレーションＯＰ１のデータ）を入力するという接続関係を有していることになる。【００３６】
次に、記憶切替え部２は、パイプライン処理５の３段目におけるオペレーションＯＰ５の構成情報ＯＰＣ５を、記憶部１ａに記憶する。構成情報出力部３は、記憶部１ａの構成情報ＯＰＣ１，ＯＰＣ２，ＯＰＣ５をＰＥ４ａ〜４ｃに出力する。ＰＥ４ａ〜４ｃには、構成情報ＯＰＣ１，ＯＰＣ２，ＯＰＣ５に従った回路が構成される。これによって、オペレーションＯＰ５が処理される。また、ＰＥ４ａ，４ｂには、オペレーションＯＰ１，ＯＰ２が構成されているので、次のデータをオペレーションＯＰ１，ＯＰ２に入力できる。【００３７】
次に、記憶切替え部２は、パイプライン処理５の４段目におけるオペレーションＯＰ６の構成情報ＯＰＣ６を、記憶部１ｂに記憶する。構成情報出力部３は、記憶部１ｂの構成情報ＯＰＣ３，ＯＰＣ４，ＯＰＣ６をＰＥ４ａ〜４ｃに出力する。ＰＥ４ａ〜４ｃには、構成情報ＯＰＣ３，ＯＰＣ４，ＯＰＣ６に従った回路が構成される。これによって、オペレーションＯＰ６の処理が行われる。また、ＰＥ４ａ，４ｂには、オペレーションＯＰ３，ＯＰ４が構成されているので、前段で処理されたオペレーションＯＰ１，ＯＰ２のデータを、オペレーションＯＰ３，ＯＰ４で処理できる。【００３８】
次に、記憶切替え部２は、パイプライン処理５の５段目におけるオペレーションＯＰ７の構成情報ＯＰＣ７を、記憶部１ａに記憶する。構成情報出力部３は、記憶部１ａの構成情報ＯＰＣ１，ＯＰＣ２，ＯＰＣ５，ＯＰＣ７をＰＥ４ａ〜４ｄに出力する。ＰＥ４ａ〜４ｄには、構成情報ＯＰＣ１，ＯＰＣ２，ＯＰＣ５，ＯＰＣ７に従った回路が構成される。これによって、オペレーションＯＰ７の処理が行われる。また、ＰＥ４ａ〜４ｃには、オペレーションＯＰ１，ＯＰ２，ＯＰ５が構成されているので、次のデータをオペレーションＯＰ１，ＯＰ２に入力でき、前段で処理されたオペレーションＯＰ３，ＯＰ４のデータを、オペレーションＯＰ５で処理できる。以上の動作を繰り返すことによって、パイプライン処理５の処理が行われる。【００３９】
このように、複数の記憶部１ａ，１ｂを具備し、パイプライン処理５の各段の構成情報を切替えて記憶していく。そして、複数の記憶部１ａ，１ｂを切替えて、構成情報を複数のＰＥ４ａ〜４ｄに出力するようにした。これによって、仮想的に、パイプライン処理５の全段をＰＥ４ａ〜４ｄに割り当てることができ、パイプライン処理のプロセッシングエレメントへの実装効率が向上し、処理性能を向上することができる。【００４０】
次に、本発明の第１の実施の形態を図面を参照して詳細に説明する。
図２は、第１の実施の形態に係るリコンフィギュラブル回路の回路ブロック図である。
図に示すようにリコンフィギュラブル回路は、コンフィギュレーション切替え部１０、ネットワーク２０、およびＰＥ３１〜３４を有している。【００４１】
コンフィギュレーション切替え部１０は、複数のメモリを有している。コンフィギュレーション切替え部１０は、コンフィギュレーションデータに基づいて後述する処理を行い、コンフィギュレーションデータを、複数のメモリを切替えて記憶していく。また、複数のメモリは、サイクルごとに切替えられ、選択されたメモリのコンフィギュレーションデータがＰＥ３１〜３４で実行される。【００４２】
ＰＥ３１〜３４の各々は、例えば、ＡＬＵや乗算器、加算器を複数有している。ＰＥ３１〜３４の各々のＡＬＵや乗算器、加算機は、パイプライン処理の１つのオペレーションを実現できるように、コンフィギュレーションデータに基づいて構成される。【００４３】
ネットワーク２０は、ＰＥ３１〜３４が所定のパイプライン処理を行うように、コンフィギュレーションデータに基づいて、ＰＥ３１〜３４を接続する。
コンフィギュレーション切替え部１０とネットワーク２０の詳細について説明する。まず、コンフィギュレーション切替え部１０について詳細に説明する。【００４４】
図３は、コンフィギュレーション切替え部の回路ブロック図である。
図に示すようにコンフィギュレーション切替え部１０は、コンフィギュレーションメモリ１１、シーケンサ１２、およびコンフィギュレーショントグル部１３〜１６を有している。【００４５】
コンフィギュレーションメモリ１１は、ＰＥ３１〜３４の構成およびネットワーク２０の接続関係を決めるコンフィギュレーションデータを格納している。
シーケンサ１２は、現在コンフィギュレーションメモリ１１から出力されているコンフィギュレーションデータに基づいて、次に出力するコンフィギュレーションデータを選定し、コンフィギュレーショントグル部１３〜１６に出力するよう制御する。シーケンサ１２は、タスク単位でコンフィギュレーションデータの出力切替えを行う。【００４６】
コンフィギュレーショントグル部１３〜１６は、ＰＥ３１〜３４に対応して設けられている。コンフィギュレーショントグル部１３〜１６は、コンフィギュレーションメモリ１１から出力されるコンフィギュレーションデータを、所定の処理に基づいて、対応するＰＥ３１〜３４とネットワーク２０に出力する。【００４７】
コンフィギュレーショントグル部１３は、コンフィギュレーションロード部１３ａ、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆ、セレクタ１３ｃ、およびカウンタ１３ｄを有している。なお、コンフィギュレーショントグル部１４〜１６は、コンフィギュレーショントグル部１３と同じ回路構成を有しており、その説明を省略する。【００４８】
コンフィギュレーションロード部１３ａは、コンフィギュレーションメモリ１１から出力されるコンフィギュレーションデータに基づいて後述する処理を行い、コンフィギュレーションデータを、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆを切替えて記憶していく。【００４９】
ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆは、コンフィギュレーションデータが記憶される。ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆに記憶されたコンフィギュレーションデータは、セレクタ１３ｃを介してＰＥ３１に出力される。【００５０】
セレクタ１３ｃは、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆに記憶されているコンフィギュレーションデータを、カウンタ１３ｄから出力される信号に応じて選択し、ＰＥ３１およびネットワーク２０に出力する。【００５１】
カウンタ１３ｄは、セレクタ１３ｃの出力を制御する信号を、セレクタ１３ｃに出力する。カウンタ１３ｄは、コンフィギュレーションデータが記憶されたローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆのデータが、ＰＥ３１に出力されるように信号をセレクタ１３ｃに出力する。【００５２】
例えば、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｄにおいて、コンフィギュレーションデータがローカルコンフィギュレーションメモリ１３ｂａから順に記憶されるとする。カウンタ１３ｄは、１から４までの数を繰り返しカウントし、セレクタ１３ｃに出力するとする。セレクタ１３ｃは、１〜４の数に対応したローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｄのコンフィギュレーションデータを出力する。これによって、ローカルコンフィギュレーションデータが記憶されたローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｄのコンフィギュレーションデータが、ＰＥ３１に出力される。【００５３】
ネットワーク２０について詳細に説明する。
図４は、ネットワークの回路ブロック図である。
図に示すようにネットワーク２０は、セレクタ２１〜２８を有している。セレクタ２１〜２８の入力は、ＰＥ３１〜３４と接続された４本の信号線と接続されている。また、セレクタ２１〜２８の出力は、ＰＥ３１〜３４と接続されている。セレクタ２１〜２８は、コンフィギュレーショントグル部１３〜１４と接続され、コンフィギュレーションデータに基づいて、入力される信号の出力を制御する。これによって、ＰＥ３１〜３４の接続関係を決定することができる。【００５４】
次に、図１３で示したパイプライン処理１１２の図２のリコンフィギュラブル回路への実装について説明する。図２に示すリコンフィギュラブル回路のＰＥ３１〜３４の各々は、パイプライン処理１１２の１つのオペレーションを実行できるように構成される。【００５５】
図５は、図２のリコンフィギュラブル回路における図１３のパイプライン処理の流れを示した図である。
図に示す大きい四角は、図２のＰＥ３１〜３４を示している。また、この四角の中には、ＰＥ３１〜３４に割り当てられるオペレーションＯＰ１〜ＯＰ７が示されている。ｎｏｎｅは、オペレーションが割り当てられていない状態を示している。【００５６】
小さな四角は、その中に示される数字により、図２のＰＥ３１〜３４の接続関係を示す。１〜４は、それぞれ、ＰＥ３１〜３４に接続されることを示す。例えば、サイクル２のＳ２に示してある、ＯＰ３が割り当てられたＰＥ３１の１，２は、ＰＥ３１が、ＰＥ３１（自分自身）とＰＥ３２に接続されていることを示している。【００５７】
図にはサイクル１からサイクル５までのパイプライン処理１１２の流れが示してある。各サイクルにおけるコンフィギュレーション面Ｓ１，Ｓ２は、図３で示したコンフィギュレーショントグル部１３〜１６のローカルコンフィギュレーションメモリに対応している。具体的には、コンフィギュレーション面Ｓ１は、ローカルコンフィギュレーションメモリ１３ｂａと、コンフィギュレーショントグル部１４〜１６のローカルコンフィギュレーションメモリ１３ｂａに対応するローカルコンフィギュレーションメモリが対応する。コンフィギュレーション面Ｓ２は、ローカルコンフィギュレーションメモリ１３ｂｂと、コンフィギュレーショントグル部１４〜１６のローカルコンフィギュレーションメモリ１３ｂｂに対応するローカルコンフィギュレーションメモリが対応する。【００５８】
コンフィギュレーション面Ｓ１，Ｓ２、すなわち、ローカルコンフィギュレーションメモリは、サイクルごとに切り替わり、そのコンフィギュレーション面Ｓ１，Ｓ２で示される接続関係（小さな四角の中の数字）において、ＰＥ３１〜３４が接続される。なお、サイクル１では、コンフィギュレーション面Ｓ１が実行され、サイクル２では、コンフィギュレーション面Ｓ２が実行されるとする。そして、以後、交互にコンフィギュレーション面Ｓ１，Ｓ２が切り替わるとする。また、面数は、パイプライン処理１１２の段数とプロセッシングエレメントの数によって異なり、２以上の場合もある。面数の決め方は、後述
詳細するが、図１３のパイプライン処理１１２では、２つのコンフィギュレーション面Ｓ１，Ｓ２で十分である。そして、パイプライン処理１１２の各段のオペレーションＯＰ１〜ＯＰ７は、１段目から順に交互にコンフィギュレーション面Ｓ１，Ｓ２のＰＥ３１〜３４に割り当てられる。【００５９】
図に示すようにサイクル１では、コンフィギュレーション面Ｓ１が有効となり、ＰＥ３１，３２には、パイプライン処理１１２の１段目のオペレーションＯＰ１，ＯＰ２が割り当てられる。オペレーションＯＰ１，ＯＰ２には、データが入力され、処理が行われる。【００６０】
サイクル２では、コンフィギュレーション面Ｓ２が有効となり、ＰＥ３１，３２には、図１３で示すパイプライン処理１１２の２段目のオペレーションＯＰ３，ＯＰ４が割り当てられる。このとき、小さな四角に示すように、ＰＥ３１は、コンフィギュレーションデータに従い、自分自身とＰＥ３２に接続される。ＰＥ３２は、ＰＥ３１と自分自身に接続される。これにより、オペレーションＯＰ３には、サイクル１で処理されたオペレーションＯＰ１，ＯＰ２のデータが入力されることになる。オペレーションＯＰ４には、サイクル１で処理されたオペレーションＯＰ１，ＯＰ２のデータが入力されることになる。よって、図１３で示したパイプライン処理１１２の２段目までの処理が行われた状態となる。【００６１】
サイクル３では、コンフィギュレーション面Ｓ１が有効となり、ＰＥ３３には、オペレーションＯＰ５が割り当てられる。このとき、小さな四角に示すように、ＰＥ３３は、コンフィギュレーションデータに従い、ＰＥ３１，３２に接続される。これにより、オペレーションＯＰ５には、サイクル２で処理されたオペレーションＯＰ３，ＯＰ４のデータが入力されることになる。なお、サイクル３のとき、ＰＥ３１，３２に割り当てられているオペレーションＯＰ１，ＯＰ２に、次のデータが入力される。【００６２】
サイクル４では、コンフィギュレーション面Ｓ２が有効となり、ＰＥ３３には、オペレーションＯＰ６が割り当てられる。このとき、小さな四角に示すように、ＰＥ３３は、コンフィギュレーションデータに従い、ＰＥ３３に接続される。これにより、オペレーションＯＰ６には、サイクル３で処理されたオペレーションＯＰ５のデータが入力されることになる。【００６３】
サイクル５では、コンフィギュレーション面Ｓ１が有効となり、ＰＥ３４には、オペレーションＯＰ７が割り当てられる。このとき、小さな四角に示すように、ＰＥ３４は、コンフィギュレーションデータに従い、ＰＥ３３に接続される。これにより、オペレーションＯＰ７には、サイクル４で処理されたオペレーションＯＰ６のデータが入力されることになる。なお、サイクル３のとき、ＰＥ３１，３２に割り当てられているオペレーションＯＰ１，ＯＰ２に、次のデータが入力される。【００６４】
このように、ＰＥ３１〜３４に対し、コンフィギュレーション面Ｓ１，Ｓ２を設ける。そして、コンフィギュレーション面Ｓ１，Ｓ２に対し、交互にパイプライン処理１１２の各段のオペレーションを割り当てていく（実際は、コンフィギュレーション面Ｓ１，Ｓ２に対し、交互にパイプライン処理１１２の各段の、オペレーションのコンフィギュレーションデータが記憶される）。そして、交互に、コンフィギュレーション面Ｓ１，Ｓ２に記憶されたコンフィギュレーションデータをＰＥ３１〜３４に出力し、パイプライン処理１１２を実行させていく。【００６５】
図６は、図２のリコンフィギュレーション回路における図１３のパイプライン処理のデータの入出力タイミングを示したタイミングチャートである。
図に示すＣＬＫは、オペレーションが実行されるタイミングを示している。ＩＮは、オペレーションＯＰ１，ＯＰ２に入力されるデータのタイミングを示している。ＯＵＴは、
オペレーションＯＰ７から出力されるデータのタイミングを示している。【００６６】
図に示すようにＣＬＫ１（ＣＬＫは図５に示しているサイクルに対応する）において、オペレーションＯＰ１，ＯＰ２にデータが入力される。ＣＬＫ３において、オペレーションＯＰ１，ＯＰ２に次のデータが入力される。以下、ＣＬＫ５，７，…と１つおきに、順次データが入力される。【００６７】
ＣＬＫ１で入力されたデータは、図５で説明したようにＣＬＫ５でオペレーションＯＰ７の処理が行われる。よって、ＣＬＫ１で入力されたデータは、ＣＬＫ６で出力される。ＣＬＫ３で入力されたデータは、ＣＬＫ７でオペレーションＯＰ７の処理が行われる。よって、ＣＬＫ３で入力されたデータは、ＣＬＫ８で出力される。【００６８】
図１５のタイミングチャートに示すように、従来のリコンフィギュラブル回路では、６ＣＬＫごとに２回データを入力している。すなわち、３ＣＬＫごとに１回の割合でデータを入力して、図１３に示すパイプライン処理１１２を行っている。これに対し、図２のリコンフィギュラブル回路では、図６のタイミングチャートに示すように、２ＣＬＫごとに１回データを入力して、図１３に示すパイプライン処理１１２を行っている。すなわち、図２のリコンフィギュラブル回路では、１．５倍の処理速度を達成することができる。これは、従来のリコンフィギュラブル回路では、オペレーションを上書きしてプロセッシングエレメントに割り当てていたのに対し、図２のリコンフィギュレーション回路では、複数のコンフィギュレーション面を設け、これに全オペレーションをプロセッシングエレメントに割り当てるようにしたので、データを入力するオペレーションが存在し、データをより多いタイミングで入力することが可能となったためである。【００６９】
次に、コンフィギュレーション面の面数の決定およびオペレーションのプロセッシングエレメントへの割り当てについて説明する。
図７は、図３のコンフィギュレーションロード部の動作を説明する図である。【００７０】
図３のコンフィギュレーションロード部１３ａは、まず、処理するパイプライン処理に必要なコンフィギュレーション面の面数を決定する。コンフィギュレーションロード部１３ａは、コンフィギュレーションメモリ１１から出力されるコンフィギュレーションデータに基づいて、Ｎｏｐ／Ｎｐｅの除算を行う。Ｎｏｐは、パイプライン処理のオペレーション数、Ｎｐｅは、プロセッシングエレメントの数である。そして、Ｌｏｗｅｒ（）により、Ｎｏｐ／Ｎｐｅが割り切れた場合は、除算結果をコンフィギュレーション面の面数とし、割り切れなかった場合は、除算結果の値以上の最小の整数値をコンフィギュレーション面の面数とする。【００７１】
このようにして決められたコンフィギュレーション面の面数によって、パイプライン処理の全オペレーションを、全オペレーション数より少ないプロセッシングエレメントに、仮想的に割り当てることが可能となる。例えば、図１３に示すパイプライン処理１１２のオペレーション数は、７である。図２のリコンフィギュラブル回路のプロセッシングエレメントの数は、４である。７個のオペレーションを４つのプロセッシングエレメントに実装するには、Ｌｏｗｅｒ（７／４）＝２より、２つのコンフィギュレーション面が必要である。そして、２つのコンフィギュレーション面により、仮想的に８個のプロセッシングエレメントが用意され、図１３のパイプライン処理１１２の７個のオペレーションが割り当て可能になる。【００７２】
次に、コンフィギュレーションロード部１３ａは、Ｉ＝１からＩ＝パイプライン段数まで、以下の処理を繰り返す。
コンフィギュレーションロード部１３ａは、予め以下の手順によって作成されたコンフ
ィギュレーション面を記憶したコンフィギュレーションメモリ１１からロードし、ローカルコンフィギュレーションメモリ１３ｂａに設定する。各コンフィギュレーション面の作成方法は、以下のようになる。【００７３】
まず、Ｉ番目のパイプライン段にあるオペレーションの数が、コンフィギュレーション面Ｓｉ（Ｓｉは、Ｉが変更されるたびに順次切替えられる）の未実装のプロセッシングエレメントの数より多いか否か判断する。【００７４】
Ｉ番目のパイプライン段にあるオペレーションの数が、コンフィギュレーション面Ｓｉの未実装のプロセッシングエレメントの数より少ない場合、前段（前サイクル）においてオペレーションを割り当てたプロセッシングエレメントの出力信号を入力することが可能なプロセッシングエレメントで、かつ、コンフィギュレーション面Ｓｉで、未実装のプロセッシングエレメントに対し、Ｉ番目のパイプライン段にあるオペレーションを実装する。そして、Ｉに１を足した次の処理を行う。一方、この未実装のプロセッシングエレメントに、Ｉ番目のパイプライン段にあるオペレーションを実装できない場合、コンフィギュレーションロード部１３ａは、最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍ（Ｍ≧Ｋ＝Ｌｏｗｅｒ（Ｎｏｐ／Ｎｐｅ））より小さいか判断する。最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍより小さい場合、コンフィギュレーション面の面数Ｋを１増やし、Ｉ＝１から処理を繰り返す。最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍ以上であれば、オペレーションをプロセッシングエレメントに実装することができないとして、処理を終了する。【００７５】
上記のＩ番目のパイプライン段にあるオペレーションの数が、コンフィギュレーション面Ｓｉの未実装のプロセッシングエレメントの数より多いか否かの判断において、Ｉ番目のパイプライン段にあるオペレーションの数が、コンフィギュレーション面Ｓｉの未実装のプロセッシングエレメントの数以上であると判断された場合、このコンフィギュレーション面Ｓｉのプロセッシングエレメントには、オペレーションを実装することができない。この場合には、最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍより小さいか判断する。最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍより小さい場合、コンフィギュレーション面の面数Ｋを１増やし、Ｉ＝１から処理を再び繰り返す。一方、最初に算出したコンフィギュレーション面の面数Ｋが、予め設定されている最大のコンフィギュレーション面の面数Ｍ以上であれば、オペレーションをプロセッシングエレメントに実装することができないとして、処理を終了する。【００７６】
このようにして、決定されたコンフィギュレーション面を、コンフィギュレーションロード部１３ａは、コンフィギュレーションメモリ１１からロードし、パイプライン処理のオペレーションのプロセッシングエレメントへの割り当てを行う。なお、コンフィギュレーション面の面数は、パイプライン処理ごとに異なるため、様々なパイプライン処理に対応できるように、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆを複数設けておく。【００７７】
このように、複数のコンフィギュレーション面を具備し、パイプライン処理の各段のオペレーションを、複数のコンフィギュレーション面を切替えて割り当てていく。これよって、仮想的に、パイプライン処理の全段をプロセッシングエレメントに割り当てることができ、パイプライン処理のプロセッシングエレメントへの実装効率が向上し、処理性能を向上することができる。【００７８】
また、ローカルコンフィギュレーションメモリ１３ｂａ〜１３ｂｆを複数具備しておくことによって、様々なアプリケーションにおけるパイプライン処理に対応することができる。【００７９】
次に、本発明の第２の実施の形態を図面を参照して詳細に説明する。
第２の実施の形態では、パイプライン処理のオペレーションを、あるコンフィギュレーション面のプロセッシングエレメントに実装できない場合、コンフィギュレーション面を増やすことなく、空いているプロセッシングエレメントを有しているコンフィギュレーション面にオペレーションを実装して、パイプライン処理を行う。なお、第２の実施の形態に係るリコンフィギュラブル回路の回路構成は、オペレーションで処理されたデータを一時退避する記憶装置、例えば、フリップフロップを有しているところが、図２で示した第１の実施の形態に係るリコンフィギュラブル回路の回路構成と異なる。よって、リコンフィギュラブル回路の回路構成の詳細な説明を省略する。【００８０】
図８は、第２の実施の形態を説明するためのパイプライン処理を示した図である。
図に示すパイプライン処理４１では、１段目にオペレーションＯＰ１，ＯＰ２が処理される。２段目にオペレーションＯＰ３が処理され、３段目に、オペレーションＯＰ４，ＯＰ５が処理される。そして、順次、オペレーションＯＰ６，ＯＰ７が処理される。図に示す矢印は、データの流れを示し、オペレーションＯＰ１，ＯＰ２には、処理されるデータが順次入力されるとする。このパイプライン処理４１の、データを一時保持するフリップフロップを有した図２のリコンフィギュラブル回路への実装について説明する。【００８１】
図９は、フリップフロップを有したリコンフィギュラブル回路における図８のパイプライン処理の流れを示した図である。
図に示す四角は、フリップフロップを具備した図２のリコンフィギュラブル回路のＰＥ３１〜３４を示している。また、四角の中には、ＰＥ３１〜３４に割り当てられたオペレーションＯＰ１〜ＯＰ７を示している。【００８２】
図に示すＳ１，Ｓ２は、コンフィギュレーション面を示す。また、ＦＦ４２は、図２のリコンフィギュラブル回路が有しているフリップフロップを示している。図８のパイプライン処理４１のオペレーションＯＰ１〜ＯＰ７は、サイクルごとに交互にコンフィギュレーション面Ｓ１，Ｓ２のＰＥ３１〜３４に割り当てられていく。【００８３】
サイクル１において、コンフィギュレーション面Ｓ１のＰＥ３１，３２にオペレーションＯＰ１，ＯＰ２が割り当てられる。
サイクル２において、コンフィギュレーション面Ｓ２のＰＥ３１にオペレーションＯＰ３が割り当てられる。【００８４】
サイクル３において、コンフィギュレーション面Ｓ１のＰＥ３３，３４にオペレーションＯＰ４，ＯＰ５が割り当てられる。
サイクル４において、コンフィギュレーション面Ｓ２のＰＥ３２にオペレーションＯＰ６が割り当てられる。【００８５】
サイクル５において、コンフィギュレーション面Ｓ１のプロセッシングエレメントにオペレーションＯＰ７が割り当てられるはずであるが、空きのプロセッシングエレメントがない。一方、コンフィギュレーション面Ｓ２のＰＥ３３，３４は、まだオペレーションが割り当てられておらず、空きが存在し、ＰＥ３３にオペレーションＯＰ７を割り当てることが可能である。そこで、サイクル５では、オペレーションＯＰ６で処理されたデータを、一旦ＦＦ４２に記憶する。【００８６】
サイクル６において、コンフィギュレーション面Ｓ２のＰＥ３３にオペレーションＯＰ７が割り当てられる。このとき、ＰＥ３３にＦＦ４２のデータが読み込まれるようにする。【００８７】
このように、データを記憶する記憶装置を具備することによって、パイプライン処理のオペレーションが、あるコンフィギュレーション面のプロセッシングエレメントに実装できない場合でも、コンフィギュレーション面を増やすことなく、処理を行うことができる。【００８８】
なお、一時退避するデータが複数存在する場合は、複数のＦＦを具備するようにする。そして、複数のＦＦに対し、ＦＩＦＯでデータを書き込み、読み出しできるようにする。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００８９】
１ａ，１ｂ  記憶部
２  記憶切替え部
３  構成情報出力部
４ａ〜４ｄ  プロセッシングエレメント（ＰＥ）
５  パイプライン処理
【図１】
0004201816.tif 000002
【図２】
0004201816.tif 000003
【図３】
0004201816.tif 000004
【図４】
0004201816.tif 000005
【図５】
0004201816.tif 000006
【図６】
0004201816.tif 000007
【図７】
0004201816.tif 000008
【図８】
0004201816.tif 000009
【図９】
0004201816.tif 000010
【図１０】
0004201816.tif 000011
【図１１】
0004201816.tif 000012
【図１２】
0004201816.tif 000013
【図１３】
0004201816.tif 000014
【図１４】
0004201816.tif 000015
【図１５】
0004201816.tif 000016