説明

ベクトル処理装置、情報処理装置、および、ベクトル処理方法

【課題】 広範囲の場合に、同時動作によるノイズを低減させる。
【解決手段】 命令制御10の動作制御情報生成部12は、命令実行制御部13からの制御情報、動作指定部11からのノイズ低減指定情報に基づいて動作制御情報を生成し、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167に対して時間的にずらして出力する。ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167は、動作制御情報を入力すると、ベクトルレジスタVR0〜ベクトルレジスタVRnから2個のベクトルエレメントデータを読み出し、演算実行部ALUで演算を実行し、演算結果をベクトルレジスタVR0〜ベクトルレジスタVRnに格納する。ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167では、処理の開始が、時間的にずれる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ベクトル処理装置、情報処理装置、および、ベクトル処理方法に関し、特に、同時動作によるノイズを低減させるベクトル処理装置、情報処理装置、および、ベクトル処理方法に関する。
【背景技術】
【0002】
LSIに集積される論理回路は、増加の傾向にあり、単一クロックに同期した同時駆動がなされると、そのタイミングでノイズが発生し、誤動作等の原因となっていた。
【0003】
たとえば、特許文献1には、主メモリからエレメントデータがロードされしだい、すべてのデータがそろわなくても、順次各演算装置で演算を実行し、性能を上げる技術が記載されている。
【0004】
【特許文献1】特開昭58−149555号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1記載の技術の問題点は、各演算装置での演算実行のずれを生じる範囲が狭いことである。
【0006】
その理由は、主メモリからのロード命令、または、主メモリへのストア命令が実行されないと、各演算装置による演算実行のずれが生じないからである。
【0007】
本発明の目的は、広範囲の場合に、演算装置での実行開始の時間的ずれを生じさせ、同時動作によるノイズを低減させることである。
【課題を解決するための手段】
【0008】
本発明の第1のベクトル処理装置は、動作制御情報にしたがって処理を開始・実行する複数のベクトルパイプライン演算部と、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記ベクトルパイプライン演算部に、順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする。
【0009】
本発明の第2のベクトル処理装置は、動作制御情報にしたがって処理を開始・実行する複数のベクトルパイプライン演算部と、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記ベクトルパイプライン演算部に、クロックに基づく順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする。
【0010】
本発明の第3のベクトル処理装置は、前記第1のベクトル処理装置であって、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力し、時間的遅延を解消し、前記ベクトルパイプライン演算部に出力するタイミング調整部を有することを特徴とする。
【0011】
本発明の第4のベクトル処理装置は、前記第2のベクトル処理装置であって、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力し、順次遅らせる時間的ずれを解消し、前記ベクトルパイプライン演算部に出力するタイミング調整部とを有することを特徴とする。
【0012】
本発明の第5のベクトル処理装置は、前記第1、第2、第3、または、第4のベクトル処理装置であって、前記命令制御部が、ノイズ低減動作指定情報を格納する動作指定部を含み、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力し、ノイズ低減動作指定情報がノイズ低減動作を指定していると、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力することを特徴とする。
【0013】
本発明の第6のベクトル処理装置は、前記第1、または、第2のベクトル処理装置であって、前記命令制御部が、ノイズ低減動作指定情報を格納する動作指定部を含み、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力し、ノイズ低減動作指定情報がノイズ低減動作を指定していると、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際しては、各前記ベクトルパイプライン演算部に、時間的ずれを生じさせずに最も遅く動作する前記ベクトルパイプライン演算部に合わせて動作制御情報を出力し、前記ベクトルパイプライン演算部にまたがらないベクトル命令の実行に際しては、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力することを特徴とする。
【0014】
本発明の第1の情報処理装置は、動作制御情報にしたがって処理を同時に開始・実行可能な複数の演算部と、命令の実行に際し、前記演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記演算部に順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする。
【0015】
本発明の第2の情報処理装置は、動作制御情報にしたがって処理を同時に開始・実行可能な複数の演算部と、命令の実行に際し、前記演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記演算部にクロックに基づく順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする。
【0016】
本発明の第1のベクトル処理方法は、複数のベクトルパイプライン演算部に、動作制御情報にしたがって処理を開始・実行させる手順と、命令制御部に、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成させ、各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順と、を含むことを特徴とする。
【0017】
本発明の第2のベクトル処理方法は、複数のベクトルパイプライン演算部に、動作制御情報にしたがって処理を開始・実行させる手順と、命令制御部に、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成させ、各前記ベクトルパイプライン演算部にクロックに基づく順次遅らせる時間的ずれを生じさせて出力させる手順と、を含むことを特徴とする。
【0018】
本発明の第3のベクトル処理方法は、前記第1のベクトル処理方法であって、タイミング調整部に、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力させ、時間的遅延を解消させ前記ベクトルパイプライン演算部に出力させる手順を含むことを特徴とする。
【0019】
本発明の第4のベクトル処理方法は、前記第2のベクトル処理方法であって、タイミング調整部に、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力させ、時間的遅延を解消させ前記ベクトルパイプライン演算部に出力させる手順を含むことを特徴とする。
【0020】
本発明の第5のベクトル処理方法は、前記第1、第2、第3、または、第4のベクトル処理方法であって、前記命令制御部に、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力させる手順と、ノイズ低減動作指定情報がノイズ低減動作を指定していると、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順とを含むことを特徴とする。
【0021】
本発明の第6のベクトル処理方法は、前記第1、または、第2のベクトル処理方法であって、前記命令制御部に、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力させる手順と、ノイズ低減動作指定情報がノイズ低減動作を指定していると、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際しては、各前記ベクトルパイプライン演算部に、時間的ずれを生じさせずに最も遅く動作する前記ベクトルパイプライン演算部に合わせて動作制御情報を出力させる手順と、前記ベクトルパイプライン演算部にまたがらないベクトル命令の実行に際しては、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順と含むことを特徴とする。
【0022】
本発明の第7のベクトル処理装置は、前記第1、2、3、4、5、または、6のベクトル処理装置であって、LSI上に構成されることを特徴とする。
【0023】
本発明の第3の情報処理装置は、前記第1、または、第2の情報処理装置であって、LSI上に構成される。
【発明の効果】
【0024】
本発明の効果は、広範囲の場合に、同時動作によるノイズを低減できることである。
【0025】
その理由は、ロード命令・ストア命令に限らず、各演算部での処理開始の時間的ずれを生じさせるからである。
【発明を実施するための最良の形態】
【0026】
次に、本発明を実施するための第1の最良の形態について図面を参照して詳細に説明する。
【0027】
図1は、本発明を実施するための第1の最良の形態のベクトル処理装置100の構成を示すブロック図である。以下、1つのベクトル命令で処理されるベクトルエレメントデータのが、64個(64個でなくてもかまわない)のベクトルエレメントデータである場合について説明する。
【0028】
図1を参照すると、ベクトル処理装置100は、命令制御部10と、複数のベクトルパイプライン演算部160〜ベクトルパイプライン演算部167とを含む。ベクトルパイプライン演算部の個数は、任意の個数が可能である。
【0029】
命令制御部10は、命令実行の制御情報を生成する命令実行制御部13と、ノイズ低減の動作を実施するかどうかを示すノイズ低減指定情報を保持する動作指定部11と、命令実行制御部13からの制御情報を入力し、動作指定部11からのノイズ低減指定情報にしたがって種々の動作制御情報(処理の開始・実行を指示する)を作成し、命令実行制御部13、および、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167に出力する動作制御情報生成部12とを含む。
【0030】
動作指定部11は、たとえば、F/F(フリップ・フロップ)等から構成される。ノイズ低減指定情報は、外部からハードウェア動作の初期設定モードとして動作指定部11設定可能である。
【0031】
ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167は、並列に動作する。また、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167は、それぞれ、ベクトルエレメントデータを保持するベクトルレジスタVR0〜ベクトルレジスタVRn(n=1,2,・・・)と、ベクトルレジスタVR0〜ベクトルレジスタVRnへのベクトルエレメントデータの選択を行うクロスバ等の内部選択部SINと、ベクトルレジスタVR0〜ベクトルレジスタVRnからのベクトルエレメントデータの選択を行うクロスバ等の内部選択部SOUTと、加減算、乗除算等を実行する1以上の演算実行部ALUと、内部選択部SOUTからのベクトルエレメントデータを格納するエレメントレジスタER0、エレメントレジスタER1と、演算実行部ALUからの演算結果を格納する演算結果レジスタSTRとを含む。
【0032】
演算実行部ALUは、演算の中間結果を格納する中間結果レジスタAR0と、中間結果レジスタAR1とを含む。エレメントレジスタER0、エレメントレジスタER1、中間結果レジスタAR0、中間結果レジスタAR1、演算結果レジスタSTRを設けるかどうかは、また、どの位置に設けるかどうかは、任意である。ベクトルレジスタVR0〜ベクトルレジスタVRnは、たとえば、レジスタ等で構成され、それぞれが、たとえば、8ベクトルエレメントデータを格納する。
【0033】
たとえば、エレメントレジスタER0、エレメントレジスタER1が第1のパイプラインステージとして設定される。中間結果レジスタAR0が第2のパイプラインステージとして設定される。中間結果レジスタAR1が第3のパイプラインステージとして設定される。演算結果レジスタSTRが第4のパイプラインステージとして設定される。ベクトルレジスタVR0〜ベクトルレジスタVRnが第5のパイプラインステージとして設定される。
【0034】
ベクトルエレメントデータは、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167内のベクトルレジスタVR0〜ベクトルレジスタVRnにインタリーブ方式で割り当てられる。
【0035】
たとえば、ベクトルパイプライン演算部160のベクトルレジスタVR0には、ベクトルエレメントデータa0、a8、a16、a24、a32、a40、a48、a56が格納される。ベクトルパイプライン演算部161のベクトルレジスタVR0には、ベクトルエレメントデータa1、a9、a17、a25、a33、a41、a49、a57が格納される。ベクトルパイプライン演算部167のベクトルレジスタVR0には、ベクトルエレメントデータa7、a15、a23、a31、a39、a47、a55、a63が格納される。
【0036】
また、同様に、ベクトルパイプライン演算部160のベクトルレジスタVR1には、ベクトルエレメントデータb0、b8、b16、b24、b32、b40、b48、b56が格納される。ベクトルパイプライン演算部161のベクトルレジスタVR1には、ベクトルエレメントデータb1、b9、b17、b25、b33、b41、b49、b57が格納される。ベクトルパイプライン演算部167のベクトルレジスタVR1には、ベクトルエレメントデータb7、b15、b23、b31、b39、b47、b55、b63が格納される。
【0037】
以下、同様に、ベクトルレジスタVR2〜ベクトルレジスタVRnにも、他のベクトルエレメントデータが格納される。
【0038】
次に、ベクトル処理装置100の動作について図面を参照して説明する。
【0039】
図2は、ベクトル処理装置100の動作を示すタイミングチャートである。
【0040】
図2を参照すると、ベクトル処理装置100が、ベクトル演算命令Xに続いて、ベクトル演算命令Yを実行する。たとえば、ベクトル演算命令Xは、ベクトルレジスタVR0内のベクトルエレメントデータa0〜ベクトルエレメントデータa63とベクトルレジスタVR1内のベクトルエレメントデータb0〜ベクトルエレメントデータb63とを加算してベクトルエレメントデータc0〜ベクトルエレメントデータc63としてベクトルレジスタVR2に格納する命令である。また、ベクトル演算命令Yは、たとえば、ベクトルレジスタVR3内のベクトルエレメントデータd0〜ベクトルエレメントデータd63とベクトルレジスタVR4内のベクトルエレメントデータe0〜ベクトルエレメントデータe63とを加算してベクトルエレメントデータf0〜ベクトルエレメントデータf63としてベクトルレジスタVR5に格納する命令である。
【0041】
ここでは、演算実行部ALUは、1クロックに1エレメントデータ同士の演算を実行する。したがって、ベクトル演算命令X、ベクトル演算命令Yの実行には、それぞれ、8クロックを要する。動作設定部11には、事前に、ノイズ低減の動作を実施することを示すノイズ低減指定情報が設定されている。
【0042】
命令実行制御部13は、クロックT0において、ベクトル演算命令Xに対する命令実行の制御情報を生成し出力する。
【0043】
動作制御情報生成部12は、クロックT1において、ベクトルパイプライン演算部160、および、ベクトルパイプライン演算部161にベクトル演算命令Xの実行を指示する動作制御情報を出力する。また、動作制御情報生成部12は、クロックT2において、ベクトルパイプライン演算部162、および、ベクトルパイプライン演算部163にベクトル演算命令Xの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT3において、ベクトルパイプライン演算部164、および、ベクトルパイプライン演算部165にベクトル演算命令Xの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT4において、ベクトルパイプライン演算部166、および、ベクトルパイプライン演算部167にベクトル演算命令Xの実行を指示する動作制御情報を出力する。
【0044】
以下、ベクトルパイプライン演算部160を例にとって説明する。
【0045】
命令制御部10からのベクトル演算命令Xに対する動作制御情報にしたがい、ベクトルレジスタVR0からベクトルエレメントデータa0が読み出され、ベクトルレジスタVR1からベクトルエレメントデータb0が読み出され、内部選択部SOUTで選択されて、それぞれ、エレメントレジスタER0、エレメントレジスタER1に格納される(図2クロックT2)。
【0046】
次に、演算実行部ALUが、エレメントレジスタER0からのエレメントデータa0、エレメントレジスタER1からのエレメントデータb0を演算し、第1の中間結果を中間結果レジスタAR0に格納する(クロックT3)。次に、演算実行部ALUが、中間結果レジスタAR0からの第1の中間結果を演算し、第2の中間結果を中間結果レジスタAR1に格納する(クロックT4)。次に、演算実行部ALUが、中間結果レジスタAR1からの第2の中間結果を演算し、演算結果(c0=a0+b0)を演算結果レジスタSTRに格納する(クロックT5)。次に、演算結果レジスタSTRからの演算結果(c0=a0+b0)が、内部選択部SINで選択されベクトルレジスタVR3に格納される(クロックT6)。
【0047】
また、ベクトルレジスタVR0からベクトルエレメントデータa8が読み出され、ベクトルレジスタVR1からベクトルエレメントデータb8が読み出され、内部選択部SOUTで選択されて、それぞれ、エレメントレジスタER0、エレメントレジスタER1に格納される(クロックT3)。
【0048】
このようにして、順次、ベクトルエレメントデータa0、a8、a16、a24、a32、a40、a48、a56と、ベクトルエレメントデータb0、b8、b16、b24、b32、b40、b48、b56との演算が実行され、演算結果(c0、c8、c16、c24、c32、c40、c48、c56)が、ベクトルレジスタVR3に格納される(クロックT6〜T13)。
【0049】
また、ベクトルパイプライン演算部161においても、ベクトルパイプライン演算部161と同様のタイミングで、順次、ベクトルエレメントデータa1、a9、a17、a25、a33、a41、a49、a57と、ベクトルエレメントデータb1、b9、b17、b25、b33、b41、b49、b57との演算が実行され(クロックT2から)、ベクトルレジスタVR3に演算結果(c1、・・・、c57)が格納される(クロックT6〜T13)。
【0050】
ベクトルパイプライン演算部162(ベクトルパイプライン演算部163)においては、1クロックずれて、クロックT3から、処理が開始される。ベクトルエレメントデータa2(a3)、a10(a11)、a18(a19)、a26(a27)、a34(a35)、a42(a43)、a50(a51)、a58(a59)と、ベクトルエレメントデータb2(b3)、b10(b11)、b18(b19)、b26(b27)、b34(b35)、b42(b43)、b50(b51)、b58(b59)との演算が実行され、ベクトルレジスタVR3に演算結果(c2(c3)、・・・、c58(c59))が格納される(クロックT7〜T14)。
【0051】
ベクトルパイプライン演算部164(ベクトルパイプライン演算部165)においては、さらに1クロックずれて、クロックT4から、処理が開始される。ベクトルエレメントデータa4(a5)、a12(a13)、a20(a21)、a28(a29)、a36(a37)、a44(a45)、a52(a53)、a60(a61)と、ベクトルエレメントデータb4(b5)、b12(b13)、b20(b21)、b28(b29)、b36(b37)、b44(b45)、b52(b53)、b60(b61)との演算が実行され、ベクトルレジスタVR3に演算結果(c4(c5)、・・・、c60(c61))が格納される(クロックT8〜T15)。
【0052】
ベクトルパイプライン演算部166(ベクトルパイプライン演算部167)においては、さらに1クロックずれて、クロックT5から、処理が開始される。ベクトルエレメントデータa6(a7)、a14(a15)、a22(a23)、a30(a31)、a38(a39)、a46(a47)、a54(a55)、a62(a63)と、ベクトルエレメントデータb6(b7)、b14(b15)、b22(b23)、b30(b31)、b38(b39)、b46(b47)、b54(b55)、b62(b63)との演算が実行され、ベクトルレジスタVR3に演算結果(c6(c7)、・・・、c62(c63))が格納される(クロックT9〜T16)。
【0053】
次に、命令実行制御部13は、クロックT8において、ベクトル演算命令Yに対する命令実行の制御情報を生成し出力する。
【0054】
動作制御情報生成部12は、クロックT9において、ベクトルパイプライン演算部160、および、ベクトルパイプライン演算部161にベクトル演算命令Yの実行を指示する動作制御情報を出力する。また、動作制御情報生成部12は、クロックT10において、ベクトルパイプライン演算部162、および、ベクトルパイプライン演算部163にベクトル演算命令Yの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT11において、ベクトルパイプライン演算部164、および、ベクトルパイプライン演算部165にベクトル演算命令Yの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT12において、ベクトルパイプライン演算部166、および、ベクトルパイプライン演算部167にベクトル演算命令Yの実行を指示する動作制御情報を出力する。
【0055】
ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167は、ベクトル演算命令Xと同様に、ベクトル演算命令Yを連続して実行する。すなわち、クロックT10から、ベクトルパイプライン演算部160でベクトル演算命令Yの処理が開始され、ベクトルレジスタVR3内のベクトルエレメントデータとベクトルレジスタVR4内のベクトルエレメントデータとが加算され、ベクトルレジスタVR5に格納される。
【0056】
以上説明したように、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167が、2つずつ1Tクロックサイクルずれて動作する。このずれの動作は、ベクトル演算命令のみならず、ベクトルロード命令(ベクトルエレメントデータをメモリから内部選択部SINを経由してベクトルレジスタVR0〜ベクトルレジスタVRnへロードする命令)、ベクトルストア命令(ベクトルエレメントデータをベクトルレジスタVR0〜ベクトルレジスタVRnから内部選択部SOUTを経由してメモリへストアする命令)においても可能である。このように、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167の処理が時間的にずれることで、ベクトル演算命令の開始等(特に、クロックT2〜クロックT5)に、回路が同時に動作開始するスイッチングの量を減らすことができる。したがって、同時動作によるノイズを低減させることが可能となる。
【0057】
次に、本発明を実施するための第2の最良の形態について図面を参照して詳細に説明する。
【0058】
図3は、本発明を実施するための第2の最良の形態の構成を示すブロック図である。
【0059】
図3を参照すると、本発明を実施するための第2の最良の形態のベクトル処理装置100は、本発明を実施するための第1の最良の形態の内部選択部SINが内部選択部SOUTに統合されて内部選択部SIOとなっている。演算結果レジスタSTRとベクトルレジスタVR0〜ベクトルレジスタVRnとが直接接続される。複数の演算実行部ALUを備える場合には、たとえば、演算結果レジスタSTRの入力に演算結果選択部SALを設ければよい。本発明を実施するための第2の最良の形態の動作は、本発明を実施するための第1の最良の形態の動作の内部選択部SINの動作が、選択の動作ではなく、単なる転送の動作になる。
【0060】
次に、本発明を実施するための第3の最良の形態について図面を参照して詳細に説明する。
【0061】
図4は、本発明を実施するための第3の最良の形態の構成を示すブロック図である。
【0062】
図4を参照すると、本発明を実施するための第3の最良の形態は、本発明を実施するための第1の最良の形態(または、第2の最良の形態)に加えて、クロスバ等の外部選択部14と、タイミング調整部15とを含む。動作制御情報生成部12は、外部選択部14、タイミング調整部15にも動作制御情報を出力する。外部選択部14は、動作制御情報生成部12からの動作制御情報にしたがいベクトルエレメントデータの選択を行う。タイミング調整部15は、外部選択部14へのベクトルエレメントデータの入力のタイミング、または、外部選択部14からのベクトルエレメントデータの出力のタイミングの調整を行う。
【0063】
外部選択部14、タイミング調整部15は、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間をまたがってベクトルエレメントデータの処理を行う命令において使用される。たとえば、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間のベクトルエレメントデータ移送を行う命令、全ベクトルエレメントデータの総和を行う命令などが挙げられる。
【0064】
ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間のベクトルエレメントデータ移送を行う命令としては、たとえば、右ローテート命令Zがある。右ローテート命令Zは、たとえば、ベクトルパイプライン演算部160内のベクトルレジスタVR0に格納されているベクトルエレメントデータa0、a8、a16、a24、a32、a40、a48、a56、ベクトルパイプライン演算部161内のベクトルレジスタVR0に格納されているベクトルエレメントデータa1、a9、a17、a25、a33、a41、a49、a57、・・・、ベクトルパイプライン演算部167内のベクトルレジスタVR0に格納されているベクトルエレメントデータa7、a15、a23、a31、a39、a47、a55、a63を7ベクトルエレメントデータ分右ローテートして、ベクトルレジスタVR1に格納する命令である。結果として、ベクトルパイプライン演算部160内のベクトルレジスタVR1には、ベクトルエレメントデータa7、a15、a23、a31、a39、a47、a55、a63が格納され、ベクトルパイプライン演算部161内のベクトルレジスタVR0には、ベクトルエレメントデータa0、a8、a16、a24、a32、a40、a48、a56が格納され、・・・、ベクトルパイプライン演算部167には、ベクトルエレメントデータa6、a14、a22、a30、a38、a46、a54、a62が格納される。
【0065】
図5は、タイミング調整部15の構成を示すブロック図である。
【0066】
図5を参照すると、タイミング調整部15は、調整レジスタDR00〜調整レジスタDR50と、調整選択部DS0〜調整選択部DS5を含む。調整レジスタDR00、調整レジスタDR01、調整レジスタDR02は、ベクトルパイプライン演算部160からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR10、調整レジスタDR11、調整レジスタDR12は、ベクトルパイプライン演算部161からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR20、調整レジスタDR21は、ベクトルパイプライン演算部162からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR20、調整レジスタDR21は、ベクトルパイプライン演算部162からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR30、調整レジスタDR31は、ベクトルパイプライン演算部163からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR40は、ベクトルパイプライン演算部164からのベクトルエレメントデータのタイミングを調整する。調整レジスタDR50は、ベクトルパイプライン演算部165からのベクトルエレメントデータのタイミングを調整する。
【0067】
調整選択部DS0は、ベクトルパイプライン演算部160からのベクトルエレメントデータと調整レジスタDR02からのベクトルエレメントデータとのいずれかを選択する。調整選択部DS1は、ベクトルパイプライン演算部161からのベクトルエレメントデータと調整レジスタDR12からのベクトルエレメントデータとのいずれかを選択する。調整選択部DS2は、ベクトルパイプライン演算部162からのベクトルエレメントデータと調整レジスタDR21からのベクトルエレメントデータとのいずれかを選択する。調整選択部DS3は、ベクトルパイプライン演算部163からのベクトルエレメントデータと調整レジスタDR31からのベクトルエレメントデータとのいずれかを選択する。調整選択部DS4は、ベクトルパイプライン演算部164からのベクトルエレメントデータと調整レジスタDR40からのベクトルエレメントデータとのいずれかを選択する。調整選択部DS5は、ベクトルパイプライン演算部165からのベクトルエレメントデータと調整レジスタDR50からのベクトルエレメントデータとのいずれかを選択する。
【0068】
ベクトルパイプライン演算部166、ベクトルパイプライン演算部167からのベクトルエレメントデータのタイミングは、調整されない。
【0069】
図6は、本発明を実施するための第3の最良の形態の動作を示すタイミングチャートである。
【0070】
図6を参照すると、動作制御情報生成部12は、クロックT1において、ベクトルパイプライン演算部160、および、ベクトルパイプライン演算部161に右ローテート命令Zの実行を指示する動作制御情報を出力する。また、動作制御情報生成部12は、クロックT2において、ベクトルパイプライン演算部162、および、ベクトルパイプライン演算部163に右ローテート命令Zの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT3において、ベクトルパイプライン演算部164、および、ベクトルパイプライン演算部165に右ローテート命令Zの実行を指示する動作制御情報を出力する。動作制御情報生成部12は、クロックT4において、ベクトルパイプライン演算部166、および、ベクトルパイプライン演算部167に右ローテート命令Zの実行を指示する動作制御情報を出力する。
【0071】
ベクトルパイプライン演算部160(ベクトルパイプライン演算部161)の内部選択部SOUT(または、内部選択部SIO)からベクトルエレメントデータa0(a1)が出力され、調整レジスタDR00(調整レジスタDR10)に格納される(図6クロックT2)。次に、ベクトルエレメントデータa0(a1)は、調整レジスタDR01(調整レジスタDR11)に格納される(クロックT3)。次に、ベクトルエレメントデータa0(a1)は、調整レジスタDR02(調整レジスタDR12)に格納される(クロックT4)。次に、ベクトルエレメントデータa0(a1)は、調整レジスタDR02(調整レジスタDR12)から調整選択部DS0(調整選択部DS1)で選択され出力される(クロックT5)。
【0072】
ベクトルパイプライン演算部162(ベクトルパイプライン演算部163)の内部選択部SOUTからベクトルエレメントデータa2(a3)が出力され、調整レジスタDR20(調整レジスタDR30)に格納される(クロックT3)。次に、ベクトルエレメントデータa2(a3)は、調整レジスタDR21(調整レジスタDR21)に格納される(クロックT4)。次に、ベクトルエレメントデータa2(a3)は、調整レジスタDR21(調整レジスタDR21)から調整選択部DS2(調整選択部DS3)で選択され出力される(クロックT5)。
【0073】
ベクトルパイプライン演算部164(ベクトルパイプライン演算部165)の内部選択部SOUTからベクトルエレメントデータa4(a5)が出力され、調整レジスタDR40(調整レジスタDR50)に格納される(クロックT4)。次に、ベクトルエレメントデータa4(a5)は、調整レジスタDR40(調整レジスタDR50)から調整選択部DS4(調整選択部DS5)で選択され出力される(クロックT5)。
【0074】
ベクトルパイプライン演算部166(ベクトルパイプライン演算部167)の内部選択部SOUTからベクトルエレメントデータa6(a7)が出力され、タイミング調整部15を経由して出力される(クロックT5)。
【0075】
次に、外部選択部14は、タイミング調整部15からベクトルエレメントデータa0、a1、a2、a3、a4、a5、a6、a7を入力し、ベクトルパイプライン演算部160にベクトルエレメントデータa7を出力し、ベクトルパイプライン演算部161にベクトルエレメントデータa0を出力し、ベクトルパイプライン演算部162にベクトルエレメントデータa1を出力し、ベクトルパイプライン演算部163にベクトルエレメントデータa2を出力し、ベクトルパイプライン演算部164にベクトルエレメントデータa3を出力し、ベクトルパイプライン演算部165にベクトルエレメントデータa4を出力し、ベクトルパイプライン演算部166にベクトルエレメントデータa5を出力し、ベクトルパイプライン演算部167にベクトルエレメントデータa6を出力する(クロックT5)。
【0076】
次に、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167のそれぞれの内部選択部SIN(または、内部選択部SIO)を経由してベクトルレジスタVR1にベクトルエレメントデータa7、a0、a1、a2、a3、a4、a5、a6が格納される(クロックT5)。次に、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167のそれぞれの内部選択部SINを経由してベクトルレジスタVR1にベクトルエレメントデータa15、a8、a9、a10、a11、a12、a13、a14が格納される(クロックT6)。このようにして、順次、右ローテート命令Zが実行される。
【0077】
本発明を実施するための第3の最良の形態は、本発明を実施するための第1、第2の最良の形態に比べて、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間をまたがってベクトルエレメントデータの処理を行う命令を容易に実行できるという効果を持つ。
【0078】
次に、本発明を実施するための第4の最良の形態について図面を参照して詳細に説明する。
【0079】
図7は、本発明を実施するための第4の最良の形態の構成を示すブロック図である。
【0080】
図7を参照すると、本発明を実施するための第4の最良の形態は、本発明を実施するための第3の最良の形態のタイミング調整部15を削除した構成を持つ。命令制御部10の動作制御情報生成部12は、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間をまたがってベクトルエレメントデータの処理を行う命令の実行に際し、動作制御情報をずらさずに、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167に出力する。たとえば、右ローテート命令Zの実行に際し、動作制御情報生成部12は、クロックT4において、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167すべてに、右ローテート命令Zの動作開始の動作制御情報を出力する。
【0081】
図8は、本発明を実施するための第4の最良の形態の動作制御情報生成部12の一例の構成を示すブロック図である。
【0082】
図8を参照すると、動作制御情報生成部12は、制御レジスタFR0と、制御レジスタFR1と、制御レジスタFR2と、制御レジスタFR3と、選択情報生成部CSSと、制御選択部CS0と、制御選択部CS1と、制御選択部CS2と、制御選択部CS3とを含む。制御レジスタFR0〜制御レジスタFR3は、順次、1クロックずつずれて、命令実行制御部13からの制御情報を格納する。選択情報生成部CSSは、命令実行制御部13からの制御情報、および、動作指定部11からのノイズ低減指定情報に基づいて制御選択部CS0〜制御選択部CS3への選択情報を生成する。
【0083】
選択情報は、以下のように生成される。
【0084】
(1)ノイズ低減指定情報が、ノイズ低減の動作を指定していなければ、選択情報は、制御選択部CS0〜制御選択部CS3に、制御レジスタFR0からの制御情報を選択させる。
【0085】
(2)ノイズ低減指定情報が、ノイズ低減の動作を指定しており、かつ、命令実行制御部13からの制御情報が、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間をまたがってベクトルエレメントデータの処理を行う命令を示していないと、選択情報は、制御選択部CS0に、制御レジスタFR0からの制御情報を選択させ、制御選択部CS1に、制御レジスタFR1からの制御情報を選択させ、制御選択部CS2に、制御レジスタFR2からの制御情報を選択させ、制御選択部CS3に、制御レジスタFR3からの制御情報を選択させる。
【0086】
(3)ノイズ低減指定情報が、ノイズ低減の動作を指定しており、かつ、命令実行制御部13からの制御情報が、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167間をまたがってベクトルエレメントデータの処理を行う命令を示していると、選択情報は、制御選択部CS0〜制御選択部CS3に、制御レジスタFR3からの制御情報を選択させる。
【0087】
制御選択部CS0は、選択情報にしたがって選択した制御情報を動作制御情報としてベクトルパイプライン演算部160、ベクトルパイプライン演算部161に出力する。制御選択部CS1は、選択情報にしたがって選択した制御情報を動作制御情報としてベクトルパイプライン演算部162、ベクトルパイプライン演算部163に出力する。制御選択部CS2は、選択情報にしたがって選択した制御情報を動作制御情報としてベクトルパイプライン演算部164、ベクトルパイプライン演算部165に出力する。制御選択部CS3は、選択情報にしたがって選択した制御情報を動作制御情報としてベクトルパイプライン演算部166、ベクトルパイプライン演算部167に出力する。
【0088】
本発明を実施するための第4の最良の形態は、本発明を実施するための第3の最良の形態に比べてタイミング調整部15を削除できるので、ハードウェア量が削減できるという効果を持つ。
【0089】
以上は、ベクトルパイプライン演算部160〜ベクトルパイプライン演算部167を持つベクトル処理装置100について説明したが、本発明は、複数の演算部を持つ情報処理装置に適用可能である。複数の演算部の演算の開始をずらす制御により、同時動作によるノイズを低減させることが可能となる。
【0090】
また、本発明を実施するための第1〜第4の最良の形態のベクトル処理装置100、または、情報処理装置を1個のLSI上に構成することが可能である。また、ベクトル処理装置100、または、情報処理装置を複数個のLSI上に構成することも可能である。
【図面の簡単な説明】
【0091】
【図1】本発明を実施するための第1の最良の形態の構成を示すブロック図。
【図2】本発明を実施するための第1の最良の形態の動作を示すタイミングチャート。
【図3】本発明を実施するための第2の最良の形態の構成を示すブロック図。
【図4】本発明を実施するための第3の最良の形態の構成を示すブロック図。
【図5】図3のタイミング調整部の構成を示すブロック図。
【図6】本発明を実施するための第3の最良の形態の動作を示すタイミングチャート。
【図7】本発明を実施するための第4の最良の形態の構成を示すブロック図。
【図8】本発明を実施するための第4の最良の形態の動作制御情報生成部の構成を示すブロック図。
【符号の説明】
【0092】
10 命令制御部
11 動作指定部
12 動作制御情報生成部
13 命令実行制御部
14 外部選択部
15 タイミング調整部
100 ベクトル処理装置
160 ベクトルパイプライン演算部
161 ベクトルパイプライン演算部
162 ベクトルパイプライン演算部
163 ベクトルパイプライン演算部
164 ベクトルパイプライン演算部
165 ベクトルパイプライン演算部
166 ベクトルパイプライン演算部
167 ベクトルパイプライン演算部
VR0 ベクトルレジスタ
VR1 ベクトルレジスタ
VR2 ベクトルレジスタ
VR3 ベクトルレジスタ
VR4 ベクトルレジスタ
VR5 ベクトルレジスタ
VRn ベクトルレジスタ
SIN 内部選択部
SOUT 内部選択部
SIO 内部選択部
SAL 演算結果選択部
ER0 エレメントレジスタ
ER1 エレメントレジスタ
ALU 演算実行部
AR0 中間結果レジスタ
AR1 中間結果レジスタ
STR 演算結果レジスタ
DR00 調整レジスタ
DR01 調整レジスタ
DR02 調整レジスタ
DR10 調整レジスタ
DR11 調整レジスタ
DR12 調整レジスタ
DR20 調整レジスタ
DR21 調整レジスタ
DR30 調整レジスタ
DR31 調整レジスタ
DR40 調整レジスタ
DR50 調整レジスタ
DS0 調整選択部
DS1 調整選択部
DS2 調整選択部
DS3 調整選択部
DS4 調整選択部
DS5 調整選択部
FR0 制御レジスタ
FR1 制御レジスタ
FR2 制御レジスタ
FR3 制御レジスタ
CS0 制御選択部
CS1 制御選択部
CS2 制御選択部
CS3 制御選択部
CSS 選択情報生成部

【特許請求の範囲】
【請求項1】
動作制御情報にしたがって処理を開始・実行する複数のベクトルパイプライン演算部と、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記ベクトルパイプライン演算部に、順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とするベクトル処理装置。
【請求項2】
動作制御情報にしたがって処理を開始・実行する複数のベクトルパイプライン演算部と、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記ベクトルパイプライン演算部に、クロックに基づく順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とするベクトル処理装置。
【請求項3】
前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力し、時間的遅延を解消し、前記ベクトルパイプライン演算部に出力するタイミング調整部を有することを特徴とする請求項1記載のベクトル処理装置。
【請求項4】
前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力し、順次遅らせる時間的ずれを解消し、前記ベクトルパイプライン演算部に出力するタイミング調整部とを有することを特徴とする請求項2記載のベクトル処理装置。
【請求項5】
前記命令制御部が、ノイズ低減動作指定情報を格納する動作指定部を含み、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力し、ノイズ低減動作指定情報がノイズ低減動作を指定していると、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力することを特徴とする請求項1、2、3、または、4記載のベクトル処理装置。
【請求項6】
前記命令制御部が、ノイズ低減動作指定情報を格納する動作指定部を含み、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力し、ノイズ低減動作指定情報がノイズ低減動作を指定していると、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際しては、各前記ベクトルパイプライン演算部に、時間的ずれを生じさせずに最も遅く動作する前記ベクトルパイプライン演算部に合わせて動作制御情報を出力し、前記ベクトルパイプライン演算部にまたがらないベクトル命令の実行に際しては、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力することを特徴とする請求項1、または、2記載のベクトル処理装置。
【請求項7】
動作制御情報にしたがって処理を同時に開始・実行可能な複数の演算部と、命令の実行に際し、前記演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記演算部に順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする情報処理装置。
【請求項8】
動作制御情報にしたがって処理を同時に開始・実行可能な複数の演算部と、命令の実行に際し、前記演算部の処理の開始・実行を指示する動作制御情報を生成し、各前記演算部にクロックに基づく順次遅らせる時間的ずれを生じさせて出力する命令制御部とを有することを特徴とする情報処理装置。
【請求項9】
複数のベクトルパイプライン演算部に、動作制御情報にしたがって処理を開始・実行させる手順と、
命令制御部に、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成させ、各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順と、
を含むことを特徴とするベクトル処理方法。
【請求項10】
複数のベクトルパイプライン演算部に、動作制御情報にしたがって処理を開始・実行させる手順と、
命令制御部に、ベクトル命令の実行に際し、前記ベクトルパイプライン演算部の処理の開始・実行を指示する動作制御情報を生成させ、各前記ベクトルパイプライン演算部にクロックに基づく順次遅らせる時間的ずれを生じさせて出力させる手順と、
を含むことを特徴とするベクトル処理方法。
【請求項11】
タイミング調整部に、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力させ、時間的遅延を解消させ前記ベクトルパイプライン演算部に出力させる手順を含むことを特徴とする請求項9記載のベクトル処理方法。
【請求項12】
タイミング調整部に、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際し、前記ベクトルパイプライン演算部からのベクトルエレメントデータを入力させ、時間的遅延を解消させ前記ベクトルパイプライン演算部に出力させる手順を含むことを特徴とする請求項10記載のベクトル処理方法。
【請求項13】
前記命令制御部に、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力させる手順と、ノイズ低減動作指定情報がノイズ低減動作を指定していると、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順とを含むことを特徴とする請求項9、10、11、または、12記載のベクトル処理方法。
【請求項14】
前記命令制御部に、ノイズ低減動作指定情報がノイズ低減動作を指定していないと、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせずに出力させる手順と、ノイズ低減動作指定情報がノイズ低減動作を指定していると、前記ベクトルパイプライン演算部にまたがるベクトル命令の実行に際しては、各前記ベクトルパイプライン演算部に、時間的ずれを生じさせずに最も遅く動作する前記ベクトルパイプライン演算部に合わせて動作制御情報を出力させる手順と、前記ベクトルパイプライン演算部にまたがらないベクトル命令の実行に際しては、動作制御情報を各前記ベクトルパイプライン演算部に順次遅らせる時間的ずれを生じさせて出力させる手順と含むことを特徴とする請求項9、または、10記載のベクトル処理方法。
【請求項15】
請求項1、2、3、4、5、または、6のベクトル処理装置をLSI上に構成することを特徴とするベクトル処理装置。
【請求項16】
請求項7、または、8の情報処理装置をLSI上に構成することを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−39840(P2006−39840A)
【公開日】平成18年2月9日(2006.2.9)
【国際特許分類】
【出願番号】特願2004−217283(P2004−217283)
【出願日】平成16年7月26日(2004.7.26)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】