JP4537420B2 - SIMD type microprocessor - Google Patents
SIMD type microprocessor Download PDFInfo
- Publication number
- JP4537420B2 JP4537420B2 JP2007096152A JP2007096152A JP4537420B2 JP 4537420 B2 JP4537420 B2 JP 4537420B2 JP 2007096152 A JP2007096152 A JP 2007096152A JP 2007096152 A JP2007096152 A JP 2007096152A JP 4537420 B2 JP4537420 B2 JP 4537420B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- register
- processor element
- data
- elements
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
Description
本発明は、画像データ等を高速処理するために単一の命令で複数データに対して同じ処理を行うSIMD(Single Instruction−stream Multiple Data− stream)型マイクロプロセッサに関し、特に、プロセッサエレメントのネイバーフッドオペレーション(隣接処理)を行なうSIMD型マイクロプロセッサに関わる。 The present invention relates to a single instruction-stream multiple data-stream (SIMD) type microprocessor that performs the same processing on a plurality of data with a single instruction in order to process image data or the like at high speed, and in particular, a neighborhood operation of a processor element. The present invention relates to a SIMD type microprocessor that performs (adjacent processing).
近年、デジタル複写機やファクシミリ装置等の画像処理では、画素数の増加、画像処理の多様化などにより画質の向上が図られている。こういった画像処理では複数のデータに対して同一の処理をすることが多く、1命令で1つのデータを処理するSISD(Single Instruction−stream Single Data−stream)型マイクロプロセッサよりも、1命令で複数のデータを同時処理するSIMD(Single Instruction−stream Multiple Data−stream)型マイクロプロセッサが用いられることが多い。 In recent years, in image processing such as digital copying machines and facsimile machines, image quality has been improved by increasing the number of pixels and diversifying image processing. In such image processing, the same processing is often performed for a plurality of data, and a single instruction-stream single data-stream (SISD) type microprocessor that processes one piece of data with one instruction. A SIMD (Single Instruction-stream Multiple Data-stream) type microprocessor that frequently processes a plurality of data is often used.
SIMD型マイクロプロセッサ2は、図5のようにグローバルプロセッサ4と、演算アレイ6と、レジスタファイル8からなる。図5はデータの流れを説明するため簡略化されており、図5のプロセッサエレメントグループ10はプロセッサエレメント(PE)の集合体である。
The
なお、本明細書では便宜上、プロセッサエレメントは256個という構成にして説明している。個々のプロセッサエレメントの構成は、後で説明する。 In the present specification, for the sake of convenience, a description is given of a configuration having 256 processor elements. The configuration of each processor element will be described later.
例えば、スキャナやカメラなどの外部入力装置から入力された画像データは、レジスタファイル8に書き込まれ、演算アレイ6にて論理算術演算等の含まれた画像処理が行われ、再度レジスタファイル8に書き込まれ、プリンタ・記憶装置などの外部出力装置に出力される。グローバルプロセッサ4は、プログラムを解読し制御信号をレジスタファイル8や演算アレイ6に送信する。グローバルプロセッサ4はグローバルプロセッサそのものでの演算処理・データ転送・逐次処理等も行う。
For example, image data input from an external input device such as a scanner or a camera is written to the
図6は、図5のプロセッサエレメント(PE)12をより詳しく示す従来技術例である。図6では、プロセッサエレメント12はPE〔0〕〜PE〔255〕までの256個用意されている。なお個々のプロセッサエレメントは順に0乃至255の序数が「PE番号」として付番されている。本明細書では、各図面の左方から順に付番されているものとする。
FIG. 6 is a prior art example showing the processor element (PE) 12 of FIG. 5 in more detail. In FIG. 6, 256
1つのプロセッサエレメント12は、レジスタ14と、ALU(算術論理演算器)16を中心とした演算部からなる。レジスタ14は、例えばR0〜R31の32本用意されており、そのうちの一部のレジスタが外部入出力に接続されている。R0〜R31のレジスタは、データをシフト・拡張するシフト・拡張器18に接続されALU16の片側のデータとして第2の記憶部22にラッチされる。ALU16のもう片側のデータは、演算部に備わるAレジスタ24の値を第1の記憶部20にラッチしたものとなる。図6の例では、レジスタ1本のサイズを8ビットとしている。更に、レジスタのうちR0〜R23の24本が外部入出力に接続され、レジスタ14からシフト・拡張器18までは8ビット、シフト・拡張器18はその8ビットを16ビットに拡張して第2の記憶部22に出力する、としている。よって、ALU16、Aレジスタ24及び第1の記憶部20は、対応して16ビットとなる。
One
図6でのデータの流れは概略次のようになる。まず、外部入力からRレジスタ14に転送された8ビット画像データは、シフト・拡張器18によって16ビットデータに拡張もしくはシフト処理され、第2の記憶部22に転送され、ALU16でデータ処理を施される。その結果Aレジスタ24に書き込まれたデータは、シフト・拡張器18からRレジスタ14に書きこまれ外部出力に出力される。
The data flow in FIG. 6 is roughly as follows. First, the 8-bit image data transferred from the external input to the
更に図7の従来技術例では、Rレジスタ14とシフト・拡張器18との経路が、近接するプロセッサエレメントの範囲内でのRレジスタ14とシフト・拡張器18との間に設定できるようにしている。なお図7の演算器26は、ALU16、第1の記憶部20と第2の記憶部22、及びAレジスタ24をまとめて示している。ここで注目のPEを「PE〔n〕」とすると、PE〔n〕の演算器26は、PE〔n〕のRレジスタ14とのデータ通信を行うほか、1つ左のPE(PE〔n−1〕)、2つ左のPE(PE〔n−2〕)、3つ左のPE(PE〔n−3〕)、1つ右のPE(PE〔n+1〕)、2つ右のPE(PE〔n+2〕)、3つ右のPE(PE〔n+3〕)の計7つのPEのRレジスタ14とデータ通信することができる。このとき、バス選択器が必要であるが、図7の従来技術例では、シフト・拡張器18とまとめて符号28により示している。
Further, in the prior art example of FIG. 7, the path between the
本明細書では、この近接するPEにおけるRレジスタ14と演算部26とのデータ通信を、「PEシフト」と称することにする。一般的には、ネイバーフッドオペレーション(隣接処理)とも呼ばれている。
In this specification, data communication between the
PEシフトが使用される画像処理には、MTF(Modulation Transfer Function)補正、フレアデータ除去などがある。 Image processing using PE shift includes MTF (Modulation Transfer Function) correction and flare data removal.
上記のMTF補正は、注目画素を除く周辺画素の強調成分を計算して、その結果に強度倍率を乗じて、注目画素に加算することにより実現する補正である。図8のような3ライン×5画素のフィルタマトリクスにおいて中央の注目画素をd21とし、MTFフィルタ係数をM00〜M42、強度倍率をmag、フィルタへの入力画素データのマトリクスをd00〜d42、フィルタの出力をmtfoとすると、MTF補正演算は以下の式で表される。 The above MTF correction is a correction realized by calculating an emphasis component of peripheral pixels excluding the target pixel, multiplying the result by the intensity magnification, and adding the result to the target pixel. In the filter matrix of 3 lines × 5 pixels as shown in FIG. 8, the pixel of interest at the center is d21, the MTF filter coefficient is M00 to M42, the intensity magnification is mag, the matrix of input pixel data to the filter is d00 to d42, When the output is mtfo, the MTF correction calculation is expressed by the following equation.
mtfo=d21×M21+
mag×(d00×M00+d10×M10+d20×M20+d30×M30+d40×M40+d01×M01+d11×M11+d31×M31+d41×M41+d02×M02+d12×M12+d22×M22+d32×M33+d42×M42)
mtfo = d21 × M21 +
mag × (d00 × M00 + d10 × M10 + d20 × M20 + d30 × M30 + d40 × M40 + d01 × M01 + d11 × M11 + d31 × M31 + d41 × M41 + d02 × M02 + d12 × M12 + d22 × M22 + d32 × M33 + d42 × M42)
上記のフレアデータ除去は、スキャナ等の読み取りで発生するフレア光(原稿面から反射された拡散光以外の光)を除去する処理である。図9に示す3ライン×5画素の領域内で、しきい値T未満の値を持つ画素の値を積算して、画素数Nで割ることにより平均値(フレア補正量)を求め、この値を注目画素データから減算する。 The flare data removal is a process for removing flare light (light other than diffused light reflected from the document surface) generated by reading with a scanner or the like. In the region of 3 lines × 5 pixels shown in FIG. 9, the values of pixels having a value less than the threshold value T are integrated and divided by the number of pixels N to obtain an average value (flare correction amount). Is subtracted from the target pixel data.
以上の演算は、いずれも注目画素の前後のデータを参照する必要がある演算である。フィルタは3ライン×5画素を例に挙げたが、5ライン×7画素、それ以上のマトリクス範囲のフィルタも存在する。 All of the above operations are operations that need to refer to data before and after the pixel of interest. The filter is exemplified by 3 lines × 5 pixels, but there are also filters in a matrix range of 5 lines × 7 pixels or more.
通常、SIMD型マイクロプロセッサでの1命令の処理分を「1SIMD」と称する。例えばデジタルコピアの場合、1枚の原稿の画像処理は、原稿1ラインにおける画素数を「1SIMD」で処理できる画素数で割った回数に、ライン数を乗じて算出された全体回数の「SIMD」によって行なわれる。また、通常、ラインの方向を横方向として主走査方向と称し、縦方向を副走査方向と称する。よって、主走査方向の処理を行う場合、図10のように「1SIMD」ずつぴたりと連続してデータの処理ができれば効率が良い。 Usually, the processing of one instruction in the SIMD type microprocessor is referred to as “1 SIMD”. For example, in the case of a digital copier, the image processing of one original is performed by multiplying the number of pixels in one line of the original by the number of pixels that can be processed by “1 SIMD” and the total number of times “SIMD” calculated by multiplying the number of lines. Is done by. Also, the line direction is generally referred to as the main scanning direction, and the vertical direction is referred to as the sub-scanning direction. Therefore, when processing in the main scanning direction is performed, it is efficient if data can be processed continuously by “1 SIMD” as shown in FIG.
けれども、前述した処理のように近隣の画素データを参照する場合には、図11のように「1SIMD」のデータの両端の数個(この数個はフィルタの画素数で決まる)をオーバーラップさせた形で取り込み参照しなければならない。言うまでも無く、オーバーラップが無いほうが、処理効率は良い。 However, when neighboring pixel data is referred to as in the above-described processing, several data at the both ends of “1 SIMD” data (this number is determined by the number of pixels of the filter) are overlapped as shown in FIG. It must be imported and referenced in the form. Needless to say, the processing efficiency is better when there is no overlap.
ところで、下記の特許文献1、特許文献2、特許文献3及び特許文献4では、ネイバーフッドオペレーション(隣接処理)の改良を目指すものであるが、上記のようなオーベーラップの問題点を解決するものではない。
本発明は、SIMD型マイクロプロセッサにて、1ラインを複数「SIMD」により処理する場合に、上記のようなオーバーラップをなくし効率良くデータを処理できることを目的とする。 An object of the present invention is to eliminate the above-described overlap and efficiently process data when a single line is processed by a plurality of “SIMDs” in a SIMD type microprocessor.
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項1に記載のSIMD型マイクロプロセッサは、
シーケンシャルユニットを含むグローバルプロセッサと、max個のプロセッサエレメントを有し、各プロセッサエレメントには0から(max−1)の序数が配置に従い順に付番され、
更に各プロセッサエレメントは、データを処理する演算器と、演算器の入力・出力のバスに接続された複数のレジスタとを含み、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントでは、端からi番目(iは自然数、且つ、1≦i≦(第1の個数))のプロセッサエレメントからの上記バスは、反対の端のプロセッサエレメントから((第1の個数)−i)番目のプロセッサエレメントまで、夫々のバスと選択器を挟んで経路により接続しており、
プロセッサエレメント配置の両端から見て第1の個数の範囲内のプロセッサエレメント以外のプロセッサエレメントでは、夫々のプロセッサエレメントを中心にして第1の個数の範囲内の、左右に隣接するプロセッサエレメントのバスと、経路により接続しており、
プロセッサエレメント配置の両端のプロセッサエレメントが近傍に配置されており、
更に、
上記シーケンシャルユニットから各プロセッサエレメントへ送られるレジスタ制御信号が全てのプロセッサエレメントで一対であり、上記レジスタ制御信号に含まれる、レジスタの選択モードを表す信号が1本用意されており、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントが夫々、レジスタ選択変更装置を備え、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントでは、上記レジスタ選択変更装置が、上記選択モードに従って、プロセッサエレメント配置の両端から見て第1の個数の範囲内のプロセッサエレメント以外のプロセッサエレメントと異なるレジスタを選択し得るように構成されている
ことを特徴とする。
The present invention has been made to achieve the above object. According to the first aspect of the present invention, there is provided a SIMD type microprocessor.
A global processor including sequential units, and max processor elements, each processor element is numbered in order from 0 to (max-1) ordinal,
Each processor element further includes an arithmetic unit for processing data and a plurality of registers connected to the input / output bus of the arithmetic unit.
With respect to processor elements within a predetermined first number range as viewed from both ends of the processor element arrangement, the i-th (i is a natural number and 1 ≦ i ≦ (first number)) processor element from the end The bus is connected from the processor element at the opposite end to the ((first number) -i) -th processor element by a path across each bus and a selector,
In the processor elements other than the processor elements within the first number range when viewed from both ends of the processor element arrangement, the buses of the processor elements adjacent to the left and right within the first number range centering on the respective processor elements , Connected by route,
The processor elements at both ends of the processor element arrangement are arranged in the vicinity,
Furthermore,
A register control signal sent from the sequential unit to each processor element is a pair in all the processor elements, and one signal indicating a register selection mode included in the register control signal is prepared.
Each of the processor elements within a predetermined first number range as viewed from both ends of the processor element arrangement includes a register selection changing device,
For the processor elements within a predetermined first number range when viewed from both ends of the processor element arrangement, the register selection changing device is within the first number range when viewed from both ends of the processor element arrangement according to the selection mode. A register different from a processor element other than the processor element can be selected .
本発明を利用することにより、以下のような効果を得ることができる。 By using the present invention, the following effects can be obtained.
まず、1ラインの画素数が多い画像処理において、余分なオーバーヘッドを減少させることができる。 First, in image processing with a large number of pixels in one line, extra overhead can be reduced.
プロセッサエレメントの配置をミラー配置にすることで、両端のプロセッサエレメント間の距離を減らすことができ、よって配線遅延による速度低下を防ぐことができる。 By making the arrangement of the processor elements into a mirror arrangement, the distance between the processor elements at both ends can be reduced, thereby preventing a reduction in speed due to wiring delay.
以下、図面を参照して本発明に係る好適な実施の形態を説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments according to the present invention will be described below with reference to the drawings.
≪第1の実施の形態≫
図1は、本発明の第1の実施の形態に係るプロセッサエレメント12のブロック図である。図1は特にプロセッサエレメントグループ10の両端におけるプロセッサエレメント12を示す。
<< First Embodiment >>
FIG. 1 is a block diagram of a
第1の実施の形態は、図7の従来技術例に加えて、PEシフトのためのバス接続を変更している。つまり、PEシフト選択器30を新たに設定している。 In the first embodiment, the bus connection for PE shift is changed in addition to the prior art example of FIG. That is, the PE shift selector 30 is newly set.
通常、両端のPE12のPEシフト用バスは、特定の値を入力、例えばGND接続して“0”を入力するようになっている。
Normally, the PE shift buses of the
図1では、左隣に3個のプロセッサエレメントまで、右隣に3個のプロセッサエレメントまでの間でデータ通信できる仕様となっている。この個数は増減されてもよい。図1では、自プロセッサエレメントを含めて7ヶ所(のPE)から選択できる。また、図1では図示してないが、レジスタ14とシフト・拡張・バス選択器28’とのバスのサイズは、8ビットである。
In FIG. 1, the specification allows data communication between up to three processor elements on the left and up to three processor elements on the right. This number may be increased or decreased. In FIG. 1, it is possible to select from seven (PE) including its own processor element. Although not shown in FIG. 1, the bus size of the
PE〔253〕、PE〔254〕、PE〔255〕とPE〔0〕、PE〔1〕、PE〔2〕とが、PEシフト選択器30により接続することで、図12のようなデータ通信が可能となる。図12にて、「注目PE」とは注目する演算器26が存在するPEを示し、「データ転送可能なPE」とは注目PEの演算器26と接続しデータをリード/ライトする対象のレジスタが属するPEを示す。L3は注目PEから左に3つ隣、L2は左に2つ隣、L1は左に1つ隣、Cは自PE、R1は右に1つ隣、R2は右に2つ隣、R3は右に3つ隣を表す。
PE [253], PE [254], PE [255] and PE [0], PE [1], and PE [2] are connected by the PE shift selector 30 so that data communication as shown in FIG. Is possible. In FIG. 12, “target PE” indicates a PE in which the
例えば、図12ではPE〔254〕のバスは、左側ではPE〔251〕、PE〔252〕、及びPE〔253〕と接続され、右側ではPE〔255〕、PEシフト選択器30を介してPE〔0〕、及び同じくPEシフト選択器30を介してPE〔1〕と接続されている。PEシフト選択器30では、(PE〔0〕やPE〔1〕ではなく)“0”もしくは“0FFh”(全ビット“1”)を選択する。 For example, in FIG. 12, the PE [254] bus is connected to PE [251], PE [252], and PE [253] on the left side, and PE [255] and PE shift selector 30 on the right side. [0] and also connected to PE [1] via the PE shift selector 30. The PE shift selector 30 selects “0” or “0FFh” (all bits “1”) (not PE [0] or PE [1]).
PEシフト選択器30は、PE〔253〕、PE〔254〕、PE〔255〕、PE〔0〕、PE〔1〕及びPE〔2〕に接続される。これら両端3つずつのPEシフト選択器は、それぞれのPE12のブロックにある(図1では、説明の便宜により、ブロックの外に置いている。)。PEシフト選択器30の制御信号は、グローバルプロセッサ4のSCU5から供給される。PEシフト選択器30は、制御信号(“0”、“1”)によって、反対側のPEの選択が制御される。“0”とするならば、全ビット0であるからGNDに繋げば問題ない。“0ffh”とするならば、全ビット1であるからVCC接続でよい。PEシフト選択器30はセレクタを含むが、該セレクタは、セレクト信号2ビットであり且つ3to1のマルチプレクサでよい。
The PE shift selector 30 is connected to PE [253], PE [254], PE [255], PE [0], PE [1], and PE [2]. These three PE shift selectors at both ends are in the block of each PE 12 (in FIG. 1, they are placed outside the block for convenience of explanation). The control signal of the PE shift selector 30 is supplied from the SCU 5 of the
なお、上記の「反対側」とは、PE〔0〕を対象としたときには、PE〔253〕、PE〔254〕もしくはPE〔255〕である。PE1を対象としたときには、PE〔254〕もしくはPE〔255〕である。PE2を対象としたときには、PE〔255〕である。一方、PE〔255〕を対象としたときには、PE〔0〕、PE〔1〕もしくはPE〔2〕である。PE〔254〕を対象としたときには、PE〔0〕もしくはPE〔1〕である。PE〔253〕を対象としたときには、PE〔0〕である。 The “opposite side” is PE [253], PE [254], or PE [255] when PE [0] is targeted. When PE1 is targeted, PE [254] or PE [255]. When PE2 is targeted, PE [255]. On the other hand, when PE [255] is targeted, it is PE [0], PE [1] or PE [2]. When PE [254] is targeted, it is PE [0] or PE [1]. When PE [253] is targeted, PE [0].
図2は、第1の実施の形態でのレジスタ14の制御信号を示す。レジスタ12の制御信号は、図2のようにグローバルプロセッサ4のシーケンシャルユニット(SCU)5から各PEに送られる。シーケンシャルユニット5は、グローバルプロセッサ4のメモリに書きこまれているプログラムをデコードし、制御信号をグローバルプロセッサ4並びにプロセッサエレメント12に送信し、各ブロックを動かす。
FIG. 2 shows control signals of the
レジスタの選択は、第1のレジスタ選択信号32と第2のレジスタ選択信号34とによって為される。第1のレジスタ選択信号32は、PE〔3〕乃至PE〔252〕のレジスタ12に送られ、第2のレジスタ選択信号34は、PE〔0〕乃至PE〔2〕、PE〔253〕乃至PE〔255〕に送られる。ここで、レジスタ選択信号(第1のレジスタ選択信号32、第2のレジスタ選択信号34)は、複数の選択信号の集合である。つまり、各PEにてレジスタが32本あったとしたら、読み取り処理及び書きこみ処理で1本ずつ必要であるので、最低64本の制御信号が、それぞれのレジスタ選択信号に必要となる。
The register is selected by the first
例えば、図7において、1ラインのデータは左から順に「1SIMD」ずつ図6の外部入出力からロードされる。ここで、1番最初の「1SIMD」分のデータはR1に、2番目の「1SIMD」分のデータはR2に、更に、3番目の「1SIMD」分のデータはR3にロードするものとする。つまり、例えばR1を現在処理するべきデータとすると、処理すべき「1SIMD」分のデータの前後の「SIMD」分のデータを常に別のレジスタに置いておくことになる。言い換えると、R0には前回R1がロードしていた前SIMD分のデータが格納されており、R2には次回R1がロードする次SIMDのデータが格納されていることになる。
For example, in FIG. 7, one line of data is loaded from the external input / output of FIG. 6 in order of “1 SIMD” from the left. Here, the first “1 SIMD” data is loaded into
ここで、あるフィルタ処理にて、例えばPE番号が1だけ大きいPEのR1レジスタからデータを参照し、それぞれのPEの演算器26の中のAレジスタ24の値と演算し、結果をAレジスタ24に格納する、とする。つまり、PE〔0〕のAレジスタ24はPE〔1〕のR1と、PE〔1〕のAレジスタ24はPE〔2〕のR1と、というように、PE〔0〕からPE〔254〕までのAレジスタ24は、夫々PE〔1〕からPE〔255〕のR1の値と演算することになる。
Here, in a certain filter process, for example, data is referred to from the R1 register of the PE whose PE number is larger by 1, and the data is calculated with the value of the
ここで、PE〔255〕のAレジスタ24は、PE〔0〕のR2の値と演算すれば、他のPEと同要件の演算を行なうことになり、且つ、第1の実施の形態を利用すればそれが容易に可能であることになる。この演算を実施するには、命令でレジスタを指定すればよい。命令の仕様は、「1SIMD」の範囲を超えるPEを参照するとき(即ち、反対側のPEを参照するとき)のレジスタを変える、というものになる。
Here, if the
また、前SIMDのデータを参照する場合、例えば、〔PE番号−3〕のPEのR1レジスタからデータを参照し、それぞれのPEの演算器26の中のAレジスタ24と演算し、結果をAレジスタ24に格納するような場合を、想定する。つまり、PE〔3〕のAレジスタ24はPE〔0〕のR1と、PE〔4〕のAジスタ24はPE〔1〕のR1と、というように、PE〔3〕からPE〔255〕までのAレジスタ24は、夫々PE〔0〕からPE〔252〕までのR1の値と演算することになる。ここで、PE〔0〕のAレジスタ24は、PE〔253〕のR0の値と演算すれば、他のPEと同要件の演算を行なうことになり、且つ、第1の実施の形態を利用すればそれが容易に可能であることになる。よって同様に、PE〔1〕のAレジスタ24はPE〔254〕のR0の値と演算し、PE〔2〕のAレジスタ24はPE〔255〕のR0の値と演算する。
Further, when referring to the data of the previous SIMD, for example, the data is referred to from the R1 register of the PE of [PE number-3], and is operated with the
上記の第1の実施の形態では、第1のレジスタ選択信号32と第2のレジスタ選択信号34とが、設定されている。更に、図示していないが、SCU5からレジスタの選択モードを表す信号を1本用意し、PE〔0〕乃至PE〔2〕、PE〔253〕乃至PE〔255〕の夫々のブロックにレジスタ選択変更装置を加え、レジスタ制御信号を全てのPEで一対とし、PE〔0〕乃至PE〔2〕、PE〔253〕乃至PE〔255〕のブロックでは選択モードに従い、他のPEで選択されるレジスタと異なるレジスタが選択され得る、という構成にしてもよい。
In the first embodiment, the first
≪第2の実施の形態≫
第2の実施の形態では、次に説明するように、プロセッサエレメントの配置に工夫が施されている。それ以外の構成は、第1の実施の形態と同様である。
<< Second Embodiment >>
In the second embodiment, as will be described below, the arrangement of the processor elements is devised. The other configuration is the same as that of the first embodiment.
ウェハにプロセッサエレメント12をレイアウトする場合、図3のようなレイアウト配置にすると、PE〔0〕乃至PE〔2〕と、PE〔253〕乃至PE〔255〕との間のバス配線が非常に長くなる。すると、配線抵抗が増え、遅延が増大し、PEシフトの致命的なスピード劣化の決定的な要因となる。それら以外のPE間では、隣接処理の配線遅延は均等である。
When the
図4は、本発明の第2の実施の形態に係るプロセッサエレメントの配置である。全プロセッサエレメントの前半、後半で2分し、ミラー配置としている。このようにすれば、全プロセッサエレメントにて、隣接処理の配線遅延は略均等である。 FIG. 4 shows an arrangement of processor elements according to the second embodiment of the present invention. The first half and the second half of all the processor elements are divided into two, and the mirror arrangement is adopted. In this way, the wiring delay of the adjacent processing is substantially equal in all the processor elements.
2・・・SIMD型マイクロプロセッサ、4・・・グローバルプロセッサ、12・・・プロセッサエレメント、26・・・演算器、28、28’・・・シフト・拡張・バス選択器、30・・・PEシフト選択器。 2 ... SIMD type microprocessor, 4 ... global processor, 12 ... processor element, 26 ... arithmetic unit, 28, 28 '... shift / expansion / bus selector, 30 ... PE Shift selector.
Claims (1)
更に各プロセッサエレメントは、データを処理する演算器と、演算器の入力・出力のバスに接続された複数のレジスタとを含み、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントでは、端からi番目(iは自然数、且つ、1≦i≦(第1の個数))のプロセッサエレメントからの上記バスは、反対の端のプロセッサエレメントから((第1の個数)−i)番目のプロセッサエレメントまで、夫々のバスと選択器を挟んで経路により接続しており、
プロセッサエレメント配置の両端から見て第1の個数の範囲内のプロセッサエレメント以外のプロセッサエレメントでは、夫々のプロセッサエレメントを中心にして第1の個数の範囲内の、左右に隣接するプロセッサエレメントのバスと、経路により接続しており、
プロセッサエレメント配置の両端のプロセッサエレメントが近傍に配置されており、
更に、
上記シーケンシャルユニットから各プロセッサエレメントへ送られるレジスタ制御信号が全てのプロセッサエレメントで一対であり、上記レジスタ制御信号に含まれる、レジスタの選択モードを表す信号が1本用意されており、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントが夫々、レジスタ選択変更装置を備え、
プロセッサエレメント配置の両端から見て所定の第1の個数の範囲内のプロセッサエレメントでは、上記レジスタ選択変更装置が、上記選択モードに従って、プロセッサエレメント配置の両端から見て第1の個数の範囲内のプロセッサエレメント以外のプロセッサエレメントと異なるレジスタを選択し得るように構成されている
ことを特徴とするSIMD型マイクロプロセッサ。 A global processor including sequential units, and max processor elements, each processor element is numbered in order from 0 to (max-1) ordinal,
Each processor element further includes an arithmetic unit for processing data and a plurality of registers connected to the input / output bus of the arithmetic unit.
With respect to processor elements within a predetermined first number range as viewed from both ends of the processor element arrangement, the i-th (i is a natural number and 1 ≦ i ≦ (first number)) processor element from the end The bus is connected from the processor element at the opposite end to the ((first number) -i) -th processor element by a path across each bus and a selector,
In the processor elements other than the processor elements within the first number range when viewed from both ends of the processor element arrangement, the buses of the processor elements adjacent to the left and right within the first number range centering on the respective processor elements , Connected by route,
The processor elements at both ends of the processor element arrangement are arranged in the vicinity,
Furthermore,
A register control signal sent from the sequential unit to each processor element is a pair in all the processor elements, and one signal indicating a register selection mode included in the register control signal is prepared.
Each of the processor elements within a predetermined first number range as viewed from both ends of the processor element arrangement includes a register selection changing device,
For the processor elements within a predetermined first number range when viewed from both ends of the processor element arrangement, the register selection changing device is within the first number range when viewed from both ends of the processor element arrangement according to the selection mode. A SIMD type microprocessor configured to be able to select a register different from a processor element other than the processor element .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007096152A JP4537420B2 (en) | 2007-04-02 | 2007-04-02 | SIMD type microprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007096152A JP4537420B2 (en) | 2007-04-02 | 2007-04-02 | SIMD type microprocessor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003159703A Division JP3971719B2 (en) | 2003-06-04 | 2003-06-04 | SIMD type microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007193838A JP2007193838A (en) | 2007-08-02 |
JP4537420B2 true JP4537420B2 (en) | 2010-09-01 |
Family
ID=38449426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007096152A Expired - Fee Related JP4537420B2 (en) | 2007-04-02 | 2007-04-02 | SIMD type microprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4537420B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5601817B2 (en) * | 2009-10-28 | 2014-10-08 | 三菱電機株式会社 | Parallel processing unit |
JP6072428B2 (en) | 2012-05-01 | 2017-02-01 | テセラ アドバンスト テクノロジーズ インコーポレーテッド | Control device, storage device, and storage control method |
JP5929485B2 (en) | 2012-05-08 | 2016-06-08 | ソニー株式会社 | Control device, storage device, and data writing method |
JP5949122B2 (en) | 2012-05-11 | 2016-07-06 | ソニー株式会社 | Control device, storage device, and storage control method |
JP5983019B2 (en) | 2012-05-17 | 2016-08-31 | ソニー株式会社 | Control device, storage device, and storage control method |
JP6329412B2 (en) * | 2014-03-26 | 2018-05-23 | 株式会社メガチップス | SIMD processor |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63316168A (en) * | 1987-06-01 | 1988-12-23 | アプライド・インテリジェント・システムズ・インコーポレイテッド | Parallel adjacent computation processing system and method |
JPH06139211A (en) * | 1992-10-23 | 1994-05-20 | Nippon Telegr & Teleph Corp <Ntt> | Parallel data processor |
JPH0863586A (en) * | 1994-06-17 | 1996-03-08 | Applied Intelligent Syst Inc | Cache burst architecture for parallel processing such as image processing,etc. |
JPH08180177A (en) * | 1994-12-26 | 1996-07-12 | Sony Corp | Parallel processor |
JPH09231347A (en) * | 1996-02-22 | 1997-09-05 | Nec Corp | Image processor |
JPH1115801A (en) * | 1997-06-24 | 1999-01-22 | Sony Corp | Data arithmetic unit, method and transmission medium |
JP2001051957A (en) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | On-chip multiplexer |
JP2001134538A (en) * | 1999-11-05 | 2001-05-18 | Ricoh Co Ltd | Signal processor |
JP2002298135A (en) * | 2001-04-02 | 2002-10-11 | Ricoh Co Ltd | Thinning device and enlarging device in simd type microprocessor |
JP3971719B2 (en) * | 2003-06-04 | 2007-09-05 | 株式会社リコー | SIMD type microprocessor |
-
2007
- 2007-04-02 JP JP2007096152A patent/JP4537420B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63316168A (en) * | 1987-06-01 | 1988-12-23 | アプライド・インテリジェント・システムズ・インコーポレイテッド | Parallel adjacent computation processing system and method |
JPH06139211A (en) * | 1992-10-23 | 1994-05-20 | Nippon Telegr & Teleph Corp <Ntt> | Parallel data processor |
JPH0863586A (en) * | 1994-06-17 | 1996-03-08 | Applied Intelligent Syst Inc | Cache burst architecture for parallel processing such as image processing,etc. |
JPH08180177A (en) * | 1994-12-26 | 1996-07-12 | Sony Corp | Parallel processor |
JPH09231347A (en) * | 1996-02-22 | 1997-09-05 | Nec Corp | Image processor |
JPH1115801A (en) * | 1997-06-24 | 1999-01-22 | Sony Corp | Data arithmetic unit, method and transmission medium |
JP2001051957A (en) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | On-chip multiplexer |
JP2001134538A (en) * | 1999-11-05 | 2001-05-18 | Ricoh Co Ltd | Signal processor |
JP2002298135A (en) * | 2001-04-02 | 2002-10-11 | Ricoh Co Ltd | Thinning device and enlarging device in simd type microprocessor |
JP3971719B2 (en) * | 2003-06-04 | 2007-09-05 | 株式会社リコー | SIMD type microprocessor |
Also Published As
Publication number | Publication date |
---|---|
JP2007193838A (en) | 2007-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4537420B2 (en) | SIMD type microprocessor | |
JP4913685B2 (en) | SIMD type microprocessor and control method of SIMD type microprocessor | |
US8320696B2 (en) | Image processing apparatus, image processing method, and program | |
CN108073549B (en) | Convolution operation device and method | |
US20060236075A1 (en) | SIMD microprocessor and data processing method | |
JP3971719B2 (en) | SIMD type microprocessor | |
JP4786484B2 (en) | Data supply method for arithmetic processing and image processing apparatus | |
JP2010108084A (en) | Image processing apparatus | |
JP4143302B2 (en) | Image processing apparatus, image processing method, control program, and recording medium | |
JP2009015555A (en) | Simd microprocessor and data transfer method for simd microprocessor | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
JP6580381B2 (en) | Image processing apparatus and image processing method | |
US20120093410A1 (en) | Image processing apparatus and method for operating image processing apparatus | |
JP5889747B2 (en) | Semiconductor device | |
JP2007073010A (en) | Simd processor and image processing method using the simd method processor and image processor | |
JP4372371B2 (en) | Thinning device and enlargement device in SIMD type microprocessor | |
JP2005269502A (en) | Image processing apparatus and image processing method | |
JP6230468B2 (en) | Image processing apparatus, image processing method, and program | |
JP7447519B2 (en) | Image processing device, program, and image processing method | |
JP4516495B2 (en) | Data processing method in SIMD type microprocessor | |
JP5055393B2 (en) | SIMD type microprocessor | |
EP2600241A2 (en) | VLIW processor, instruction structure, and instruction execution method | |
JP3919430B2 (en) | Image processing apparatus and method | |
JP4102819B2 (en) | Image forming apparatus | |
JP2005135163A (en) | Device and method for signal processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090909 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100615 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100617 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |