JP2007094669A - パイプライン演算処理装置 - Google Patents

パイプライン演算処理装置 Download PDF

Info

Publication number
JP2007094669A
JP2007094669A JP2005281960A JP2005281960A JP2007094669A JP 2007094669 A JP2007094669 A JP 2007094669A JP 2005281960 A JP2005281960 A JP 2005281960A JP 2005281960 A JP2005281960 A JP 2005281960A JP 2007094669 A JP2007094669 A JP 2007094669A
Authority
JP
Japan
Prior art keywords
pipeline
clock
stage
input
output
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.)
Granted
Application number
JP2005281960A
Other languages
English (en)
Other versions
JP4735962B2 (ja
Inventor
Manabu Noriyasu
学 則安
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2005281960A priority Critical patent/JP4735962B2/ja
Publication of JP2007094669A publication Critical patent/JP2007094669A/ja
Application granted granted Critical
Publication of JP4735962B2 publication Critical patent/JP4735962B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

【課題】 データ更新周期が異なるデータを同時に処理しなければならない場合に同じ処理を複数回行わなければならず、消費電力を低減することができなかったという課題を解決する。
【解決手段】 2k個のパイプラインステージを有するパイプラインにおいて、クロックとk本の制御信号をクロック/段数制御部で生成し、n番目の制御信号を2n-1(2*j−1)(j=1,2,・・・2k-n)番目のパイプラインステージに入力し、この制御信号で各パイプラインステージ内のレジスタを有効にするか否かを制御するようにした。2k、2k-1、・・・1個のパイプラインステージを有するパイプラインとして用いることができるので、入力データの更新周期に応じて制御信号を変えることにより、消費電力を削減することができる。予め処理するデータ更新周期がわかっている信号発生装置やデータ処理装置に用いると効果が大きい。
【選択図】 図1

Description

本発明は、パイプラインを用いて演算処理を行うパイプライン演算処理装置において、特に消費電力を小さくすることができるパイプライン演算処理装置に関するものである。
パイプライン演算処理装置は、データ処理部とその結果を記憶するレジスタで構成されたパイプラインステージを複数個縦接続し、データを順次受け渡しながら処理を行う演算処理装置である。各パイプラインステージは原則として同じクロックで駆動される。
図5に従来のパイプライン演算処理装置の構成を示す。このパイプライン演算処理装置は、8個のパイプラインステージが縦接続されたパイプラインを3組有している。
図5において、10はパイプラインであり、縦接続されたパイプラインステージ11〜18で構成される。パイプラインステージ11はデータ処理部11aおよびレジスタ11bを有している。レジスタ11bにはクロックclkが入力される。パイプラインステージ12〜18もデータ処理部とレジスタで構成され、これらのレジスタにもクロックclkが入力される。
パイプライン10にはデータainが入力される。このデータainはデータ処理部11aに入力され、処理される。この処理はクロックclkの1周期内に終了し、その結果はクロックclkに同期してレジスタ11bに格納される。このレジスタ11bに格納されたデータが次のパイプラインステージ12の入力になり、このデータはパイプラインステージ12内のデータ処理部で処理される。このように、データainはクロックclkに同期してパイプラインステージ11〜18を順次受け渡されて処理される。
20はパイプラインであり、縦接続されたパイプラインステージ21〜28で構成される。このパイプライン20にはデータbinが入力され、処理される。30も同様構成のパイプラインであり、縦接続されたパイプラインステージ31〜38で構成される。このパイプライン30にはデータcinが入力されて処理される。動作はパイプライン10と同じなので、説明を省略する。
図6は各パイプラインの動作を説明したタイムチャートである。(1)はパイプライン10、(2)はパイプライン20、(3)はパイプライン30の動作を表している。(A1)は各パイプラインステージ内のレジスタに入力されるクロックclkの波形である。
(B1)は初段のパイプラインステージの入力値ain、(C1)〜(J1)はそれぞれパイプラインステージ11〜18の出力値である。(J1)の8段目のパイプラインステージの出力値がパイプライン10の出力になる。
次に、パイプライン10の動作を説明する。パイプラインステージ11には、クロックclkに同期してA1〜A12のデータが順次入力される。時刻T1でデータA1はパイプラインステージ11で処理されてデータA1aが出力される。また、データA2が入力される。時刻T2でデータA1aはパイプラインステージ12で処理されてデータA1bが出力される。パイプラインステージ11の出力はA2a、入力はA3になる。
以後同様の手順でデータが順次受け渡されて処理が進行する。時刻T3でパイプラインステージ18から、入力データA1が処理されたデータA1hが出力される。このA1hがパイプライン10の出力になる。以後、クロックclkに同期してデータA2h、A3h・・・・・が出力される。
このように、パイプライン処理では、データはパイプラインステージの段数だけ遅れるが、入力データの処理結果がクロックclkに同期して得られるという特徴がある。なお、パイプライン20、30も同じ動作を行うので、説明を省略する。
図7に、データによって更新周期が異なる場合の動作を示す。なお、図5と同じ要素には同一符号を付し、説明を省略する。図7において、パイプライン20に入力されるデータbinはパイプライン10の2倍、パイプライン30に入力されるデータcinはパイプライン10の4倍の周期で更新される。
パイプライン10〜30の段数を可変することはできない。そのため、(2)に示すように、入力データbinはクロックclkの2周期の間同じ値に固定され、そのためパイプラインステージ21〜28は同じ演算を2度行う。また、パイプライン30では、(3)に示すようにクロックclkの4周期の間入力データcinは固定され、パイプラインステージ31〜38は同じ演算を4度実行する。
パイプラインの消費電力は、パイプラインの段数と供給されるクロック周波数に依存する。図7のタイムチャートでは、パイプライン20は実質的にパイプライン10の1/2、パイプライン30は1/4の速度でしか動作していないのに、消費電力が減少しないという欠点がある。
特許文献1には、パイプラインの段数を可変することができるパイプライン演算処理装置の発明が記載されている。以下、図8に基づいてこの発明の概要を説明する。図8において、41〜46はこの順に縦接続されたパイプラインステージであり、それぞれ演算部とこの演算部の出力を保持するパイプラインレジスタで構成される。各パイプラインレジスタにはクロックCLKが入力される。パイプラインステージ41にはクロックCLKに同期してデータDIが入力され、パイプラインステージ46からはデータDOが出力される。
制御部47にはクロックモード信号CMが入力され、制御信号SELをパイプラインステージ41、43、45に出力する。制御信号SELが0のときは、パイプラインステージ41〜46内のパイプラインレジスタが全て有効になる。すなわち、6段のパイプラインとして動作する。制御信号が1になると、パイプラインステージ41、43、45内のパイプラインレジスタが無効になり、データはこれらのパイプラインレジスタをスルーする。すなわち、パイプラインステージ41と42、43と44、45と46が1つのパイプラインステージになり、3段のパイプラインとして動作する。
入力データの更新周期が早いときには、制御信号SELを0にして6段のパイプラインとして動作させる。入力データの更新周期が遅いときは、制御信号SELを1にしてクロックCLKの周波数を1/2にする。このようにすると、消費電力を低減することができる。
特開2004−62281号公報
しかし、このようなパイプライン演算処理装置には、次のような課題があった。図5のパイプライン演算処理装置はパイプラインの段数を変えることができない。そのため、図7で説明したように、データの更新周期が遅い場合は各パイプラインステージに同じ演算を複数回させるという無駄な動作をさせなければならず、消費電力を低減することが困難であるという課題があった。
特許文献1のパイプライン演算処理装置はパイプラインの段数を1/2にすることができ、データの更新周期が遅い場合に消費電力を低減することができるという長所がある。しかし、段数を1/2にするだけであり、更新周期が大きく異なるデータに適合させることが難しいという課題があった。また、単一のパイプラインを有する演算処理装置が記載されているだけであって、複数のパイプラインを有する演算処理装置における、全体の処理速度を変えないで消費電力を低減するクロック周波数の選択手法、および複数のパイプラインを同期して動作させる手法については何ら記載されていない。
従って本発明の目的は、装置全体の処理速度を低下させることなく消費電力を低減することができるパイプライン演算処理装置を提供することにある。
このような課題を達成するために、本発明のうち請求項1記載の発明は、
複数のパイプラインステージを縦接続し、所定のクロックに同期してこれらのパイプラインステージ間で順次データを受け渡して処理を行うパイプライン演算処理装置において、
縦接続されたm*2k個(mは正の整数、kは1以上の整数)のパイプラインステージを有し、
i*2k+2k(i=0,1,・・・,m−1)番目のパイプラインステージに、入力されたデータを処理する処理部と、入力されたクロックに基づいて前記処理部の出力を保持するレジスタとを有するパイプラインステージを用い、
その他のパイプラインステージに、入力されたデータを処理する処理部と、入力されたクロックに基づいて前記処理部の出力を保持するレジスタと、入力された制御信号に基づいて前記処理部の出力と前記レジスタの出力を選択して出力する選択部を有するパイプラインステージを用いたパイプラインと、
k本の制御信号と、基準クロックから生成したクロックを出力し、前記パイプラインのi*2k+2n-1*(2*j−1)(i=0,1,・・・,m−1、j=1,2,・・・2k-n)番目のパイプラインステージ内の選択部にn番目の制御信号を出力し、前記パイプラインステージ内のレジスタに前記クロックを出力するクロック/段数制御部と、
を具備したものである。入力データの更新周期に応じて、パイプラインの段数を可変することができる。
請求項2記載の発明は、請求項1に記載の発明において、
前記クロック/段数制御部は(k+1)本のクロックを出力し、前記パイプラインのi*2k+2n-1*(2*j−1)(i=0,1,・・・,m−1、j=1,・・・2k-n)番目のパイプラインステージ内のレジスタにn番目のクロックを出力し、i*2k+2k番目のパイプラインステージのレジスタに(k+1)番目のクロックを出力するようにしたものである。パイプラインの自由度を高めることができる。
請求項3記載の発明は、請求項1若しくは請求項2記載の発明において、
前記制御信号のうち、(k−q)番目(q=0,1,・・・p−1、pは0<p<kを
満たす整数)の制御信号が接続されているパイプラインステージを、選択部を内蔵しないパイプラインステージに変更するようにしたものである。構成を簡略にすることができる。
請求項4記載の発明は、請求項1若しくは請求項3いずれかに記載の発明において、
請求項1若しくは請求項3いずれかに記載のパイプライン演算処理装置を複数個具備し、
これらのパイプライン演算処理装置に入力されるデータの更新周期に応じて、クロック/段数制御部が出力する制御信号およびクロックを調整するようにしたものである。入力データの更新周期が異なる複数のデータを処理するときに、処理能力を落とさずに消費電力を低減することができる。
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項1,2、3および4の発明によれば、m*2k個のパイプラインステージが縦接続されたパイプラインにおいて、i*2k+2n-1*(2*j−1)(i=0,1,・・・,m−1、j=1,2,・・・2k-n)番目のパイプラインステージ内の選択部にn番目の制御信号を出力し、これらの制御信号を調整して2k、2k-1、・・・、1個のパイプラインステージを有するパイプラインとして動作させるようにした。
パイプライン演算処理装置の消費電力はパイプラインの段数に比例すると考えられるので、入力データのデータ更新周期に応じてパイプラインの段数およびクロック周波数を変更することにより、消費電力を低減することができるという効果がある。
このパイプライン演算処理装置を複数個内蔵し、データ更新周期が異なる複数のデータを処理する演算処理装置において、制御信号を調整してデータ更新周期に応じて最適な段数に設定することにより、データ処理能力を低下させずに消費電力を低減することができるという効果もある。予めデータ更新周期がわかっている信号発生器、信号測定装置やデータ処理装置に用いて効果が大きい。
以下本発明を図面を用いて詳細に説明する。図1は本発明に係るパイプライン演算処理装置の一実施例を示す構成図である。図1において、51〜58はこの順に縦接続されたパイプラインステージであり、パイプライン50を構成している。パイプラインステージ51は、入力されたデータを処理する処理部51a、入力されたクロックに同期してこの処理部51aの出力を保持するレジスタ51b、および処理部51aとレジスタ51bの出力が入力され、これらの入力を選択して出力するマルチプレクサ(MUX)51cで構成される。処理部51aには入力データainが入力される。なお、マルチプレクサは選択部に相当するものである。
パイプラインステージ52〜57も同様の構成を有しており、前段のパイプラインステージの出力が入力される。最終段のパイプラインステージ58は処理部とレジスタのみで構成され、マルチプレクサを有していない。
59はクロック/段数制御部であり、信号jaと基準クロックsclkが入力され、クロックa_ck_1、a_ck_2、a_ck_4、a_ck_8および制御信号a_th_1〜a_th_3を生成、出力する。制御信号a_th_1とクロックa_ck_1はパイプラインステージ51、53、55、57内のマルチプレクサとレジスタに、制御信号a_th_2とクロックa_ck_2はパイプラインステージ52、56内のマルチプレクサとレジスタに、制御信号a_th_3とクロックa_ck_4はパイプラインステージ54のマルチプレクサとレジスタに、クロックa_ck_8はパイプラインステージ58のレジスタに入力される。
パイプラインステージ51〜58にこの順で1番から番号をつけると、奇数番目(2*j-1, j=1,2,3,4)のパイプラインステージには、1番目の制御信号a_th_1と1番目のクロックa_ck_1が入力され、2番目から4つ毎(4*j−2, j=1,2)のパイプラインステージには、2番目の制御信号a_th_2と2番目のクロックa_ck_2が入力される。また、4番目から8つ毎(8*j-4 j=1)のパイプラインステージには、3番目の制御信号a_th_3と3番目のクロックa_ck_4が入力され、最終段のパイプラインには、4番目のクロックa_ck_8が入力される。
各パイプラインステージ内のマルチプレクサは、制御信号が1のときは処理部の出力を選択し、0のときはレジスタの出力を選択する。このため、制御信号が1のときはレジスタがスルーされ、次段のパイプラインステージと合体して1つのパイプラインステージを構成する。
60はパイプラインであり、縦接続されたパイプラインステージ61〜68で構成される。69はクロック/段数制御部であり、信号jcと基準クロックsclkが入力され、クロックb_ck_1、b_ck_2、b_ck_4、b_ck_8、および制御信号b_th_1、b_th_2、b_th_3を生成してパイプラインステージ61〜68に出力する。70はパイプラインであり、縦接続されたパイプラインステージ71〜78で構成される。79はクロック/段数制御部であり、信号jcと基準クロックsclkが入力され、クロックc_ck_1、c_ck_2、c_ck_4、c_ck_8、および制御信号c_th_1、c_th_2、c_th_3を生成してパイプラインステージ71〜78に出力する。
クロック/段数制御部69、79が出力する制御信号とクロックのパイプライン60、70への配信はパイプライン50と同じなので、説明を省略する。この際、クロックb_ck_j、c_ck_jはa_ck_j(いずれもj=1, 2, 4, 8)と読み替える。また、制御信号b_th_k、c_th_kはa_th_k(いずれもk=1, 2, 3)と読み替える。
次に、クロック/段数制御部59、69、79の動作を説明するが、動作は同じなので、クロック/段数制御部59で説明する。信号jaには0〜3の整数が入力される。クロック/段数制御部59は、この信号jaによって出力するクロックと制御信号を変化させる。
ja=0のときは、クロック/段数制御部59は制御信号a_th_1〜a_th_3を全て0にし、クロックa_ck_1、a_ck_2、a_ck_4、a_ck_8を基準クロックsclkと同じ信号とする。パイプラインステージ51〜57内のレジスタは有効になり、パイプライン50は8段のパイプラインとなる。また、パイプライン50の出力は基準クロックsclkの周期で更新される。このときは、消費電力は最大になる。
ja=1のときは、クロック/段数制御部59は制御信号a_th_1を1、a_th_2、a_th_3を0にする。また、クロックa_ck_1を0に固定し、a_ck_2、a_ck_4、a_ck_8を基準クロックsclkを2分周したクロックとする。制御信号a_th_1が0なので、パイプラインステージ51、53、55、57内のレジスタはスルーされる。その結果、パイプラインステージ51と52、53と54、55と56、57と58がそれぞれ1つのパイプラインステージなり、4段のパイプラインとなる。ja=0の場合に比べてクロックの周期は倍になるので、パイプライン50のデータ更新周期も倍になる。消費電力はパイプラインの段数に比例すると考えることができるので、消費電力を約半分にすることができる。
ja=2のときは、クロック/段数制御部59は制御信号a_th_1とa_th_2を1、a_th_3を0にする。また、クロックa_ck_1とa_ck_2は0に固定し、a_ck_4、a_ck_8として基準クロックsclkを4分周したクロックとする。パイプラインステージ51〜53、55〜57内のレジスタはスルーされるので、パイプラインステージ51〜54が1つのパイプラインステージになり、55〜58がもう1つのパイプラインステージになる2段のパイプラインとなる。また、このパイプラインのデータ更新周期はja=1のときの倍になり、消費電力はja=1のときの約半分になる。
ja=3のときは、クロック/段数制御部59は制御信号a_th_1〜a_th_3を全て1にし、クロックa_ck_1、a_ck_2、a_ck_4を0に固定して、a_ck_8を基準クロックsclkを8分周したクロックとする。パイプラインステージ51〜57内のレジスタは全てスルーされる。パイプライン50は、パイプラインステージ51〜58が1つのパイプラインステージとなる1段のパイプラインになる。このパイプラインのデータ更新周期はja=2のときの倍になり、消費電力はja=2のときの約半分になる。
制御信号が1のときはレジスタがスルーされるので、このパイプラインステージに入力されるクロックは何であってもよい。前述の例では制御信号として1が入力されるパイプラインステージに入力されるクロックを0に固定したが、それ以外のパイプラインステージに入力されるクロックと同じクロックを入力してもよい。また、前述の例からわかるように、jaの値が同じときには、各パイプラインステージには同じクロックが入力される。これらのことから、クロック/段数制御部59が出力するクロックを1本とすることができる。なお、クロックの数を増やすととそれだけ自由度が増し、種々の使い方をすることができる。
なお、パイプライン60とクロック/段数制御部69、パイプライン70とクロック/段数制御部79の動作も、パイプライン50とクロック/段数制御部59と同じであるので、説明を省略する。
図2に、図1実施例のタイムチャートを示す。このタイムチャートは、クロック/段数制御部59、69、79の信号ja、jb、jcを全て0にした場合である。前述したように、この場合はパイプライン50、60、70は全て8段のパイプラインとして動作し、データは基準クロックsclkの周期で更新される。このタイムチャートは図6タイムチャートと同じなので、説明を省略する。
図3は信号ja=0、jb=1、jc=2とした場合のタイムチャートである。図3(1)はパイプライン50のタイムチャートである。パイプライン50は8段のパイプラインとして動作し、データは基準クロックsclkの周期で更新される。このタイムチャートは、図2(1)のタイムチャートと同じである。
図3(2)はパイプライン60のタイムチャートである。jb=1であるので、パイプライン60は4段のパイプラインとして動作する。(A2)のb_ckは各パイプラインステージ内のレジスタに入力されるクロックであり、(1)の倍の周期になっている。(B2)はパイプライン60への入力データbinであり、(A2)のクロックの周期で更新される。
(C2)はパイプラインステージ61と62が合体したステージの出力、(D2)はパイプラインステージ63と64が合体したステージの出力である。以下同様に、(E2)、(F2)はそれぞれパイプラインステージ65と66、67と68が合体したステージの出力である。これら合体したステージは、パイプライン50の倍の周期で動作するが、パイプライン60の出力B1h、B2h・・・は、パイプライン50の出力A1h、A2h・・・に同期して出力される。
図3(3)はパイプライン70のタイムチャートである。jc=2であるので、パイプライン70は2段のパイプラインとして動作する。(A3)のc_ckは各パイプラインステージ内のレジスタに入力されるクロックであり、(1)の4倍の周期になっている。(B3)はパイプライン60への入力データcinであり、(A3)のクロックの周期で更新される。
(C3)はパイプラインステージ71〜74が合体したステージの出力、(D3)はパイプラインステージ75〜78が合体したステージの出力である。これら合体したステージは、パイプライン50の4倍の周期で動作するが、パイプライン70の出力C1h、C2h・・・は、パイプライン50の出力A1h、A2h・・・に同期して出力される。
このように、入力データの更新周期に応じて制御信号とクロックを変えることにより、データ処理能力を実質的に低下させることなく消費電力を低減することができる。特に、複数のパイプラインを有し、異なる更新周期のデータが入力されるパイプライン演算処理装置に用いると効果が大きい。
図1のパイプラインを、2k個のパイプラインステージを有するパイプラインに一般化することができる。この場合、マルチプレクサを有するパイプラインステージを(2k−1)個縦接続し、最終段にマルチプレクサを有しないパイプラインステージを接続する構成とする。
クロック/段数制御部はk本の制御信号と(k+1)本のクロックを出力する。初段のパイプラインステージを1番目とすると、n番目(n=1,2,・・・、k)の制御信号とクロックを、2n-1*(2*j−1)番目(j=1,2,・・・,2k-n)のパイプラインステージに入力する。また、最終段のパイプラインステージには、(k+1)番目のクロックを入力する。このパイプラインは、k本の制御信号を調整することにより、2k,2k-1,・・・,1個のパイプラインステージを有するパイプラインとすることができる。なお、前述したように、クロック/段数制御部が出力するクロックを1種類とすることもできる。
図1の実施例では、2k,2k-1,・・・,1個のパイプラインステージを有するパイプラインとして使用することができるが、場合によってはパイプラインステージが少ないパイプラインを必要としない場合もある。この場合は、パイプラインおよびクロック/段数制御部の構成を簡単化することができる。2p個(0<p<kの整数)以上のパイプラインステージを有するパイプラインとしてのみ使用するときは、(k−q)番目(q=0,1,・・・p−1)の制御信号が入力されているパイプラインステージを、マルチプレクサを有しないパイプラインステージに変更すればよい。このような構成にすることにより、制御信号の数を(k−p)本に、クロックの最大数を(k−p+1)本にすることができる。
この2k個のパイプラインステージを有するパイプラインをm個(mは正の整数)縦接続して新たなパイプラインを構成することもできる。このパイプラインの構成例を図4に示す。
図4において、81はパイプラインブロックであり、マルチプレクサを有するパイプラインステージ81a、81b、81cおよびマルチプレクサを有さないパイプラインステージ81dの4個のパイプラインステージで構成されている。82、83はパイプラインブロックであり、パイプラインブロック81と同様に4個のパイプラインステージで構成されている。この3つのパイプラインブロック81〜83が縦接続され、パイプライン80を構成している。
84はクロック/段数制御部であり、基準クロックsclkおよび信号jdが入力され、2本の制御信号th_1、th_2および3本のクロックck_1、ck_2、ck_4を出力する。制御信号th_1とクロックck_1は、パイプラインブロック81〜83の1、3番目のパイプラインステージのマルチプレクサとレジスタに入力される。制御信号th_2とクロックck_2は、2番目のパイプラインステージのマルチプレクサとレジスタに入力される。クロックck_4は、4番目のパイプラインステージのレジスタに入力される。
図4の構成を一般形で表すと、2k個のパイプラインステージを有するパイプラインブロックをm個(mは正の整数)縦接続したパイプラインとなる。パイプラインステージの数
はm*2k個になる。
n番目の制御信号とクロックは、i*2k+2n-1*(2*j−1)(i=0,1,・・・m−1、j=1,2,・・・2k-n)番目のパイプラインステージに入力する。i*2k+2k番目のパイプラインステージには制御信号は入力せず、(k+1)本目のクロックを入力する。この実施例では、図1の実施例に比べてパイプラインステージの数はm倍になるが、制御信号とクロックの数は増やす必要がない。すなわち、クロック/段数制御部は1つでよい。
この実施例でもクロックの数を1本とすることができる。また、変更できるパイプラインステージの数を制限することにより、パイプラインクロック/段数制御部を簡単化することができる。
なお、図4で用いたパイプラインブロックは説明の都合上導入したものであり、パイプラインの動作を制約するものではない。また、マルチプレクサを内蔵しないパイプラインステージとしてマルチプレクサを内蔵したパイプラインステージを用い、制御信号を固定して、常時レジスタの出力を選択するようにしてもよい。
このパイプライン演算処理装置は、処理するデータのデータ更新周期がわかっている信号発生装置やデータ処理装置に用いると、各データを同期して処理し、かつ消費電力を削減することができる。
本発明の一実施例を示す構成図である。 本発明の一実施例の動作を説明するためのタイムチャートである。 本発明の一実施例の動作を説明するためのタイムチャートである。 本発明の他の実施例を示す構成図である。 従来のパイプラインの構成図である。 従来のパイプラインステージのタイムチャートである。 従来のパイプラインステージのタイムチャートである。 従来のパイプラインの構成図である。
符号の説明
50、60、70、80 パイプライン
51〜58、61〜68、71〜78、81a〜81d パイプラインステージ
51a 処理部
51b レジスタ
51c マルチプレクサ
59、69、79、84 クロック/段数制御部
81〜83 パイプラインブロック
ain、bin、cin 入力データ
a_th_1〜a_th_3、b_th_1〜b_th_3、c_th_1〜c_th_3、th_1、th_2 制御信号
a_ck_1、a_ck_2、a_ck_4、a_ck_8 クロック
b_ck_1、b_ck_2、b_ck_4、b_ck_8 クロック
c_ck_1、c_ck_2、c_ck_4、c_ck_8 クロック
ck_1、ck_2 クロック
sclk 基準クロック

Claims (4)

  1. 複数のパイプラインステージを縦接続し、所定のクロックに同期してこれらのパイプラインステージ間で順次データを受け渡して処理を行うパイプライン演算処理装置において、
    縦接続されたm*2k個(mは正の整数、kは1以上の整数)のパイプラインステージを有し、
    i*2k+2k(i=0,1,・・・,m−1)番目のパイプラインステージに、入力されたデータを処理する処理部と、入力されたクロックに基づいて前記処理部の出力を保持するレジスタとを有するパイプラインステージを用い、
    その他のパイプラインステージに、入力されたデータを処理する処理部と、入力されたクロックに基づいて前記処理部の出力を保持するレジスタと、入力された制御信号に基づいて前記処理部の出力と前記レジスタの出力を選択して出力する選択部を有するパイプラインステージを用いたパイプラインと、
    k本の制御信号と、基準クロックから生成したクロックを出力し、前記パイプラインのi*2k+2n-1*(2*j−1)(i=0,1,・・・,m−1、j=1,2,・・・2k-n)番目のパイプラインステージ内の選択部にn番目の制御信号を出力し、前記パイプラインステージ内のレジスタに前記クロックを出力するクロック/段数制御部と、
    を具備したことを特徴とするパイプライン演算処理装置。
  2. 前記クロック/段数制御部は(k+1)本のクロックを出力し、前記パイプラインのi*2k+2n-1*(2*j−1)(i=0,1,・・・,m−1、j=1,・・・2k-n)番目のパイプラインステージ内のレジスタにn番目のクロックを出力し、i*2k+2k番目のパイプラインステージのレジスタに(k+1)番目のクロックを出力するようにしたことを特徴とする請求項1記載のパイプライン演算処理装置。
  3. 前記制御信号のうち、(k−q)番目(q=0,1,・・・p−1、pは0<p<kを
    満たす整数)の制御信号が接続されているパイプラインステージを、選択部を内蔵しないパイプラインステージに変更したことを特徴とする請求項1若しくは請求項2記載のパイプライン演算処理装置。
  4. 請求項1若しくは請求項3いずれかに記載のパイプライン演算処理装置を複数個具備し、
    これらのパイプライン演算処理装置に入力されるデータの更新周期に応じて、クロック/段数制御部が出力する制御信号およびクロックを調整するようにしたことを特徴とする請求項1若しくは請求項3いずれかに記載のパイプライン演算処理装置。
JP2005281960A 2005-09-28 2005-09-28 パイプライン演算処理装置 Expired - Fee Related JP4735962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005281960A JP4735962B2 (ja) 2005-09-28 2005-09-28 パイプライン演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005281960A JP4735962B2 (ja) 2005-09-28 2005-09-28 パイプライン演算処理装置

Publications (2)

Publication Number Publication Date
JP2007094669A true JP2007094669A (ja) 2007-04-12
JP4735962B2 JP4735962B2 (ja) 2011-07-27

Family

ID=37980328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005281960A Expired - Fee Related JP4735962B2 (ja) 2005-09-28 2005-09-28 パイプライン演算処理装置

Country Status (1)

Country Link
JP (1) JP4735962B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076277A (zh) * 2021-03-26 2021-07-06 大唐微电子技术有限公司 实现流水线调度的方法、装置、计算机存储介质及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02267623A (ja) * 1989-04-07 1990-11-01 Nec Corp 可変同期回路
JPH0683583A (ja) * 1992-09-03 1994-03-25 Kawasaki Steel Corp パイプライン演算回路
JPH08147163A (ja) * 1994-11-24 1996-06-07 Toshiba Corp 演算処理装置及び方法
WO1997009675A1 (fr) * 1995-09-08 1997-03-13 Hitachi, Ltd. Memoire pipeline a etapes variables
JP2004062281A (ja) * 2002-07-25 2004-02-26 Nec Micro Systems Ltd パイプライン演算処理装置及びパイプライン演算制御方法
JP2006260556A (ja) * 2005-03-14 2006-09-28 Sony Computer Entertainment Inc ラッチポイントを制御することにより、演算処理能力を改善する方法、装置ならびにシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02267623A (ja) * 1989-04-07 1990-11-01 Nec Corp 可変同期回路
JPH0683583A (ja) * 1992-09-03 1994-03-25 Kawasaki Steel Corp パイプライン演算回路
JPH08147163A (ja) * 1994-11-24 1996-06-07 Toshiba Corp 演算処理装置及び方法
WO1997009675A1 (fr) * 1995-09-08 1997-03-13 Hitachi, Ltd. Memoire pipeline a etapes variables
JP2004062281A (ja) * 2002-07-25 2004-02-26 Nec Micro Systems Ltd パイプライン演算処理装置及びパイプライン演算制御方法
JP2006260556A (ja) * 2005-03-14 2006-09-28 Sony Computer Entertainment Inc ラッチポイントを制御することにより、演算処理能力を改善する方法、装置ならびにシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076277A (zh) * 2021-03-26 2021-07-06 大唐微电子技术有限公司 实现流水线调度的方法、装置、计算机存储介质及终端
CN113076277B (zh) * 2021-03-26 2024-05-03 大唐微电子技术有限公司 实现流水线调度的方法、装置、计算机存储介质及终端

Also Published As

Publication number Publication date
JP4735962B2 (ja) 2011-07-27

Similar Documents

Publication Publication Date Title
KR101766183B1 (ko) 벡터 소팅 알고리즘 및 다른 알고리즘들을 지원하기 위한 트리 구조를 갖춘 기능 유닛
JP4861030B2 (ja) 半導体装置
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
JP5231800B2 (ja) 半導体集積回路装置および半導体集積回路装置のクロック制御方法
US8281113B2 (en) Processor having ALU with dynamically transparent pipeline stages
JP2003296096A (ja) シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法
JP2006099719A (ja) 処理装置
JP5549442B2 (ja) Fft演算装置
US20240004663A1 (en) Processing device with vector transformation execution
CN114924796A (zh) 再生逻辑块以实现提高的吞吐量
JP4735962B2 (ja) パイプライン演算処理装置
CN112074810B (zh) 并行处理设备
EP1927056A2 (en) Processor array with separate serial module
EP3030963B1 (en) Flexible configuration hardware streaming unit
JP2010287122A (ja) 多重化用補助peおよび半導体集積回路
JPH0814816B2 (ja) 並列計算機
JP4295234B2 (ja) Fir型デジタルフィルタ
JP5116499B2 (ja) 演算処理回路
JP5447511B2 (ja) 通信回路および通信方法
JP5170234B2 (ja) マルチプロセッサ
JP2004071103A (ja) 自己同期型fifoメモリ装置
JPH09101889A (ja) パイプライン演算装置
JP5170021B2 (ja) ベクトル演算装置およびベクトル演算方法
JP4999361B2 (ja) 処理装置
JP2010204913A (ja) ベクトル処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100630

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110413

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees