JP2011192058A - Image processor - Google Patents
Image processor Download PDFInfo
- Publication number
- JP2011192058A JP2011192058A JP2010058110A JP2010058110A JP2011192058A JP 2011192058 A JP2011192058 A JP 2011192058A JP 2010058110 A JP2010058110 A JP 2010058110A JP 2010058110 A JP2010058110 A JP 2010058110A JP 2011192058 A JP2011192058 A JP 2011192058A
- Authority
- JP
- Japan
- Prior art keywords
- data
- control code
- image processing
- processing apparatus
- processor element
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、画像処理装置に関する。 The present invention relates to an image processing apparatus.
SIMD型マイクロプロセッサでは、複数のデータに対して1つの命令で同時に同一の演算処理が実行可能である。この構造により、演算は同一であるがデータ量が非常に多い処理(特に、画像処理)に係る用途において、頻用される。SIMD型マイクロプロセッサにおける通常の画像処理では、複数の演算ユニット(Processor Element[PE];プロセッサエレメント)を主走査方向に対応する方向に並べ、同一の演算を同時に複数のデータに対して実行する。このことにより高速な演算処理が可能となっている。 In the SIMD type microprocessor, the same arithmetic processing can be executed simultaneously on a plurality of data with one instruction. This structure is frequently used in applications related to processing (particularly image processing) in which the calculation is the same but the amount of data is very large. In normal image processing in a SIMD type microprocessor, a plurality of arithmetic units (Processor Elements [PE]; processor elements) are arranged in a direction corresponding to the main scanning direction, and the same arithmetic is simultaneously performed on a plurality of data. This enables high-speed arithmetic processing.
ところで、SIMD型マイクロプロセッサ及びメモリ装置を含む画像処理装置は、メモリ装置へのアクセスが全体の処理サイクル時間に大きな影響を与えるシステムである。このようなメモリアクセスが全体の処理時間に大きく影響するシステム(装置)では、ヒストグラム処理等のメモリからのリードアクセス、メモリへのライトアクセスが頻繁に必要となる処理を行った場合、処理時間が長くなる、という問題がある。 By the way, an image processing apparatus including a SIMD type microprocessor and a memory device is a system in which access to the memory device greatly affects the entire processing cycle time. In a system (apparatus) in which such memory access greatly affects the overall processing time, if processing that frequently requires read access to the memory and write access to the memory, such as histogram processing, is performed, the processing time There is a problem of becoming longer.
なお、本願発明の先行技術文献として、後述の特許文献1〜6が挙げられる。
Note that
本発明は、ヒストグラム処理等のメモリからのリードアクセス、メモリへのライトアクセスを多数必要とする処理を行う場合にも、メモリアクセス時間が全体の処理時間を増大させないような画像処理装置を提供することを目的とする。 The present invention provides an image processing apparatus in which the memory access time does not increase the overall processing time even when processing requiring a large number of read accesses to the memory and write accesses to the memory, such as histogram processing, is performed. For the purpose.
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項1に記載の画像処理装置は、
メモリと、前記メモリに対してリード/ライトアクセスを行う外部メモリアクセス装置と、前記外部メモリアクセス装置に対してデータ伝達を行なうポートを有するSIMD型マイクロプロセッサとを備える画像処理装置において、
前記SIMD型マイクロプロセッサを構成する複数のプロセッサエレメントの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて生成されるコントロールコードによって、前記外部メモリアクセス装置の前記メモリへのアクセスを削減する制御が為されることを特徴とする画像処理装置である。
The present invention has been made to achieve the above object. An image processing apparatus according to
An image processing apparatus comprising: a memory; an external memory access device that performs read / write access to the memory; and a SIMD type microprocessor having a port that transmits data to the external memory access device.
The external memory access device by a control code generated based on a continuity relationship between adjacent processor elements in data stored in a register included in each of a plurality of processor elements constituting the SIMD type microprocessor The image processing apparatus is characterized in that control for reducing access to the memory is performed.
本発明に係る請求項2に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第1のコントロールコードであることを特徴とする請求項1に記載の画像処理装置である。
An image processing apparatus according to
The control code is
Indicates a match or mismatch between data stored in a register included in the target processor element and data stored in a register included in the processor element immediately preceding the target processor element adjacent to the target processor element The image processing apparatus according to
本発明に係る請求項3に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ後のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第2のコントロールコードであることを特徴とする請求項1に記載の画像処理装置である。
An image processing apparatus according to
The control code is
Indicates a match or mismatch between data stored in a register included in the target processor element and data stored in a register included in the processor element immediately after the target processor element adjacent to the target processor element The image processing apparatus according to
本発明に係る請求項4に記載の画像処理装置は、
更に、前記外部メモリアクセス装置は、前記第2のコントロールコードを、一時記憶して遅延を与える一時記憶素子を備えることを特徴とする請求項3に記載の画像処理装置である。
An image processing apparatus according to claim 4 of the present invention is provided.
The image processing apparatus according to
本発明に係る請求項5に記載の画像処理装置は、
前記コントロールコードは、
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとが一致する場合に、前記注目プロセッサエレメントに含まれるレジスタに格納されるデータに、上書きされる特定コードであり、
更に、前記外部メモリアクセス装置は、前記特定コードの検出回路を備えることを特徴とする請求項1に記載の画像処理装置である。
An image processing apparatus according to claim 5 of the present invention is provided.
The control code is
When the data stored in the register included in the processor element of interest matches the data stored in the register included in the processor element immediately before the processor element of interest adjacent to the processor element of interest It is a specific code that is overwritten on the data stored in the register included in the processor element of interest,
The image processing apparatus according to
本発明に係る画像処理装置では、SIMD型マイクロプロセッサと外部メモリと間のアクセスを制御する外部メモリアクセス装置において、メモリリードアクセス及びメモリライトアクセスを一部省略することができ、これによりメモリアクセスサイクル数を削減でき処理時間を短くできる。更に外部メモリアクセス装置内の制御回路規模を削減できる。 In the image processing apparatus according to the present invention, in the external memory access apparatus that controls access between the SIMD type microprocessor and the external memory, part of the memory read access and memory write access can be omitted, and thereby the memory access cycle The number can be reduced and the processing time can be shortened. Furthermore, the scale of the control circuit in the external memory access device can be reduced.
以下、図面を参照して、本発明に係る好適な実施形態を説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[第1の実施形態]
図1(1)は、本発明の第1の実施形態に係る画像処理装置のブロック図である。図1(1)に示す画像処理装置は、SIMD型マイクロプロセッサ2、メモリ6、及び外部メモリアクセス装置4を含む。
[First embodiment]
FIG. 1A is a block diagram of an image processing apparatus according to the first embodiment of the present invention. The image processing apparatus shown in FIG. 1A includes a
図2は、SIMD型マイクロプロセッサ2の概略の構成図である。SIMD型マイクロプロセッサ2は、複数のPE(プロセッサエレメント)を備え、各PE8は複数のレジスタ18を備える。具体的にSIMD型マイクロプロセッサ2には、PE0、PE1、PE2・・・PE(n−1)、PEnと番号が付されたn個のPEが備わる。n個のPEは、画像の主走査方向に対応する方向に並べられる。各PE8は、レジスタ部12と演算部14とを含み、各レジスタ部12には複数のレジスタ18が含まれる。各PE8における複数のレジスタ18はバス16を経由して演算部14と接続する。演算部14は、レジスタ部12のレジスタ18に格納されるデータを用いて演算を行なう。また、各PE8における複数のレジスタ18の各々は、他の全てのPEの各々にて、対応するレジスタ18を有しており、対応するレジスタ18同士は、共通のポート10に接続する。SIMD型マイクロプロセッサ2は、これらポート10を介して外部とデータ通信を行なう。
FIG. 2 is a schematic configuration diagram of the
図1(1)に示す画像処理装置のブロック図に戻り、SIMD型マイクロプロセッサ2の外部には、RAM等で構成されるメモリ6が設けられる。SIMD型マイクロプロセッサ2からメモリ6へのリード(読み出し)/ライト(書き込み)アクセスは、外部メモリアクセス装置4により制御される。上述のように、外部メモリアクセス装置4は、SIMD型マイクロプロセッサ2とポート10で接続される。
Returning to the block diagram of the image processing apparatus shown in FIG. 1A, a
次に、図1(2)は、第1の実施形態に係る画像処理装置において、ヒストグラム処理を行うときのデータの入出力の様子を示す図である。ここでヒストグラム処理とは、同値のデータの出現回数を求める処理である。図1(2)に示すヒストグラム処理を行うときの第1の実施形態に係る画像処理装置のデータ入出力は、図1(1)に示すものと略同一であるが、外部メモリアクセス装置4aからSIMD型プロセッサ2への出力データが無いことが異なる点である。
Next, FIG. 1B is a diagram illustrating how data is input and output when histogram processing is performed in the image processing apparatus according to the first embodiment. Here, the histogram processing is processing for obtaining the number of appearances of data having the same value. Data input / output of the image processing apparatus according to the first embodiment when performing the histogram processing shown in FIG. 1 (2) is substantially the same as that shown in FIG. 1 (1), but from the external memory access device 4a. The difference is that there is no output data to the
図3は、第1の実施形態に係る画像処理装置における外部メモリアクセス装置4aの構成図である。図3に示す外部メモリアクセス装置4aは、選択器20、加算器(ADDR)22、及び書き込みデータ制御回路24を含む。
FIG. 3 is a configuration diagram of the external memory access device 4a in the image processing apparatus according to the first embodiment. The external memory access device 4a shown in FIG. 3 includes a
外部メモリアクセス装置4aに入力するコントロールコードAは、SIMD型マイクロプロセッサ2に配置される複数のPE8において、注目PE(例えば、PE(k)とする)のレジスタのデータ値と、その1つ後のPE(即ち、PE(k+1))のレジスタのデータ値とが、一致していればその注目PE(PE(k))について“1”と表され、一致していなければその注目PE(PE(k))について“0”と表されるコードである。
The control code A input to the external memory access device 4a is the data value of the register of the target PE (for example, PE (k)) in the plurality of PEs 8 arranged in the
また、外部メモリアクセス装置4aに入力するコントロールコードBは、SIMD型マイクロプロセッサ2に配置される複数のPE8において、注目PE(例えば、PE(k)とする)のレジスタのデータ値と、その1つ前のPE(即ち、PE(k−1))のレジスタのデータ値とが、一致していればその注目PE(PE(k))について“1”と表され、一致していなければその注目PE(PE(k))について“0”と表されるコードである。このように、コントロールコード(A、B)は、SIMD型マイクロプロセッサ2を構成する複数のPEの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて、生成されているコードである。
Also, the control code B input to the external memory access device 4a is the data value of the register of the target PE (for example, PE (k)) in the plurality of PEs 8 arranged in the
選択器20は、SIMD型マイクロプロセッサ2からの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータと、1つ前の入力データの出現数であって直前に加算器22が出力したデータの内から、コントロールコードBによって、選択を行なう。つまり、コントロールコードBが“1”であるならば、注目PEのレジスタのデータ値と、その1つ前のPEのレジスタのデータ値とが、一致しているということだから、選択器20は、1つ前の入力データの出現数(即ち、1つ前のPEのレジスタのデータ値の出現数)であって直前に加算器22が出力したデータを選択するように、設定されている。また、コントロールコードBが“0”であるならば、注目PEのレジスタのデータ値と、その1つ前のPEのレジスタのデータ値とが、不一致であるということだから、選択器20は、SIMD型マイクロプロセッサ2の注目PEからの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータを選択するように設定されている。
The
加算器22は、出現数の加算を行なう。書き込みデータ制御回路24にはコントロールコードAの反転と加算器22の出力とが入力される。コントロールコードAが“1”であれば、注目PEのレジスタのデータ値と、その1つ後のPEのレジスタのデータ値とが、一致している、即ち、同じデータ値のレジスタを含むPEが続きこの時点でデータ値を出力する必要が無い、ということだから、書き込みデータ制御回路24は、コントロールコードAの反転(ここでは、“0”)により、加算器22の出力をメモリ6aの対応アドレスにこの時点では書き込まないように制御する。また、コントロールコードAが“0”であれば、注目PEのレジスタのデータ値と、その1つ後のPEのレジスタのデータ値とが、不一致である、即ち、同じデータ値のレジスタを含むPEがこの後に続かずこの時点で一旦データ値を出力する必要がある、ということだから、書き込みデータ制御回路24は、コントロールコードAの反転(ここでは、“1”)により、加算器22の出力をメモリ6aの対応アドレスに書き込むように制御する。
The
従って、図3に示す外部メモリアクセス装置では、加算器22の出力と選択器20の入力とを繋ぐことにより、連続するPEにおいてレジスタのデータ値が同一値で連続すれば加算を積み重ねるが、連続が途切れたことがコントロールコードBの値により示されれば(即ち、コントロールコードBの値が“0”であれば)、選択器20により、注目PEからの入力データの値に対応する、その値の出現数を足し込んでいくメモリ(領域)から読み出されたデータに切り替えられて、選択される。更に、連続が途切れることがコントロールコードAの値により示されれば(即ち、コントロールコードAの値が“0”であれば)、書き込みデータ制御回路24により、加算器22の出力をメモリ6aの対応アドレスに書き込むように制御される。
Therefore, in the external memory access device shown in FIG. 3, by adding the output of the
コントロールコードA、及びコントロールコードBの具体的内容は、SIMD型マイクロプロセッサにて生成される。つまり、注目PEとそのPEに隣接する(前後の)PEにおいて、レジスタのデータの一致/不一致情報に基づいて、コントロールコードが生成される。図4を用いて、コントロールコード(A、B)の生成を説明する。 Specific contents of the control code A and the control code B are generated by a SIMD type microprocessor. That is, a control code is generated based on register data match / mismatch information between the PE of interest and the PEs adjacent to (before and after) the PE. Generation of control codes (A, B) will be described with reference to FIG.
図2で示したように、SIMD型マイクロプロセッサ2は複数のPEを備え、各PEはデータを保持するレジスタ16を備えている。図4(1)では、PE0からPE6までを示す。また、各PEのレジスタには00h、01h、01h、02h、02h、02h、03h(“h”は16進表記であることを示す。)のデータが保持されているとする(図中の「PEデータ」は、PEのレジスタに保持されるデータの意味である。)。このとき、SIMD型マイクロプロセッサの命令により、コントロールコードAを、注目PEとその1つ後のPEとのデータの一致/不一致につき一致していれば“1”とし、一致していなければ“0”として設定すると、ここでのコントロールコードAは0、1、0、1、1、0、0となる。次に、SIMD型マイクロプロセッサの命令により、コントロールコードBを、注目PEとその1つ前のPEとのデータの一致/不一致につき一致していれば“1”とし、一致していなければ“0”として設定すると、ここでのコントロールコードBは0、0、1、0、1、1、0となる。
As shown in FIG. 2, the
上記のコントロールコード(A、B)は、SIMD型マイクロプロセッサ2から外部メモリアクセス装置4aに伝達される。コントロールコード(A、B)は、各PEにおけるレジスタの1つに格納されてもよい。また、図4(2)に示すように、各PEにおいてレジスタがデータを格納する際に、レジスタの一部のビットにコントロールコードを割り付けるようにしてもよい。
The control codes (A, B) are transmitted from the
図4(2)に示す「コントロールコードbit割付データ」では、PEのレジスタの1〜7bit(ビット)にデータが格納され、上述のコントロールコードAが0bit(ビット)に割り付けられている。ここで、上述のコントロールコードBが割り付けられてもよい。また、PEのレジスタの2〜7bitにデータが格納され、上述のコントロールコードAとコントロールコードBが、0〜1bitに割り付けられてもよい。 In “control code bit allocation data” shown in FIG. 4 (2), data is stored in 1 to 7 bits (bits) of the PE register, and the control code A described above is allocated to 0 bits (bits). Here, the control code B described above may be assigned. Further, data may be stored in 2 to 7 bits of the PE register, and the control code A and the control code B described above may be assigned to 0 to 1 bit.
図5は、注目PEのデータが前後のPEのデータと不一致又は一致するときの、外部メモリアクセス装置4aの読出しデータ(Read Data)及び書込みデータ(Write Data)の時間的変遷を示す図である。つまり、メモリからデータ値の出現回数の値を読み出して、適宜インクリメントを行い、メモリへ再び書き戻す、メモリアクセス制御について示す図である。図5において、「RCLK」は、「レジスタクロック」であり、読出し動作及び書込み動作のクロックを示す。図5では、1サイクル目から9サイクル目までの変遷を示している。 FIG. 5 is a diagram illustrating temporal transitions of read data (Read Data) and write data (Write Data) of the external memory access device 4a when the data of the target PE does not match or coincides with the data of the previous and subsequent PEs. . That is, it is a diagram showing memory access control in which the value of the number of appearances of the data value is read from the memory, incremented appropriately, and written back to the memory again. In FIG. 5, “RCLK” is a “register clock” and indicates a clock for a read operation and a write operation. FIG. 5 shows the transition from the first cycle to the ninth cycle.
また、「ADD」には、PEのレジスタに格納されるデータ値が示される。「ctlcodeA」「ctlcodeB」は夫々、コントロールコードAとコントロールコードBを示す。「RWEB」は、「レジスタライトイネーブル」であり、メモリへの書込み動作のイネーブル信号を示す。「Read Data」及び「Write Data」は、読出しデータ及び書込みデータの内容である。 “ADD” indicates a data value stored in the register of the PE. “Ctl code A” and “ctl code B” indicate a control code A and a control code B, respectively. “RWEB” is “register write enable” and indicates an enable signal for a write operation to the memory. “Read Data” and “Write Data” are the contents of read data and write data.
図5におけるメモリアクセス制御は、コントロールコード(A、B)に依存するのであり、コントロールコードAとコントロールBとの組み合わせから、4パターンのメモリアクセス制御が考えられる。 The memory access control in FIG. 5 depends on the control code (A, B), and four patterns of memory access control can be considered from the combination of the control code A and the control B.
まず、パターン1は、注目PEの(レジスタの)データと前後いずれものPEの(レジスタの)データとが一致しない場合である。この場合、注目PEのデータにおいてコントロールコード(A、B)のいずれもがアサートされていない(即ち、“1”となっていない)ので、前PE、注目PE、及び後PEのどのPEに係る動作時にも、メモリからのデータリードアクセスの後、出現数が1だけ加算され、メモリへデータのライトアクセスが行われる。
First,
次に、パターン2は、注目PEの(レジスタの)データと1つ後のPEの(レジスタの)データとが一致している場合である。このとき、注目PEのデータにおいてコントロールコードAがアサートされている(4〜6サイクル)ので、注目PEのデータ(の出現回数値)に関しては、メモリからのデータリードアクセスのみが行われ、データライトアクセスが行なわれなくてもよい。更に、1つ後のPEのデータ(の出現回数値)に関しては、メモリからのデータリードアクセスが行なわれなくてもよく、加えて、1つ後のPEに関するサイクル時において一括でメモリライトアクセスされればよい。よって、5サイクル目から7サイクル目までを省略することができる。
Next,
次に、パターン3は、注目PEの(レジスタの)データと1つ前のPEの(レジスタの)データとが一致している場合である。このとき、注目PEのデータにおいてコントロールコードBがアサートされている(4〜6サイクル)ので、注目PEのデータ(の出現回数値)に関しては、1つ前のPEに関するアクセス時にメモリから読み出したデータが用いられるため、メモリからのリードアクセスが行なわれなくてもよい。また、注目PEのデータの出現回数値に関しては、1つ前のPEのデータの出現回数値として1つ前のPEに関するサイクル時に読み出されたデータに対して、注目PEに関するサイクル時に出現回数が加算されてメモリへのライトアクセスが行なわれればよい。更に、1つ前のPEのデータの出現回数値に関しては、1つ前のPEに関するサイクル時においてメモリへのデータライトアクセスが行なわれなくてもよい。よって、2サイクル目から4サイクル目までを省略することができる。
Next,
最後に、パターン4は、注目PEの(レジスタの)データが1つ前のPEの(レジスタの)データ及び1つ後のPEの(レジスタの)データと一致している場合である。このとき、注目PEのデータにおいてコントロールコードAとコントロールコードBがアサートされている(4〜6サイクル)。従って、注目PEに関するサイクル時には、メモリとのリードアクセスもライトアクセスも行なわれなくてよい。また、1つ前のPEに関するサイクル時には、メモリとのライトアクセスが行なわれなくてよく、1つ後のPEに関するサイクル時には、メモリとのリードアクセスが行なわれなくてよい。よって、2サイクル目から7サイクル目までを省略することができる。 Finally, the pattern 4 is a case where the data (register) of the target PE matches the data (register) of the previous PE and the data (register) of the next PE. At this time, the control code A and the control code B are asserted in the data of the target PE (4 to 6 cycles). Accordingly, it is not necessary to perform read access or write access to the memory during the cycle related to the PE of interest. In addition, in the cycle related to the previous PE, the memory does not need to be accessed for writing, and in the cycle related to the next PE, the memory does not need to be read. Therefore, the second to seventh cycles can be omitted.
以上のように、コントロールコード(A、B)を伴う、SIMD型マイクロプロセッサを構成するPEのレジスタに格納されるデータについて、本実施形態に係る外部メモリアクセス装置を利用してヒストグラム処理を行うことによって、画像処理装置における処理サイクルを削減することができる。 As described above, histogram processing is performed using the external memory access device according to the present embodiment for data stored in the PE register of the SIMD type microprocessor accompanied by the control code (A, B). Thus, the processing cycle in the image processing apparatus can be reduced.
[第2の実施形態]
図6は、本発明の第2の実施形態に係る画像処理装置における外部メモリアクセス装置4の構成図である。図6に示す第2の実施形態に係る画像処理装置は、図3に示す第1の実施形態に係る画像処理装置と、略同一のものである。従って、同一部位には同一符号を付して説明を省略し、両者の差異を中心に説明する。
[Second Embodiment]
FIG. 6 is a configuration diagram of the external memory access device 4 in the image processing apparatus according to the second embodiment of the present invention. The image processing apparatus according to the second embodiment shown in FIG. 6 is substantially the same as the image processing apparatus according to the first embodiment shown in FIG. Accordingly, the same portions are denoted by the same reference numerals, and the description thereof is omitted, and the difference will be mainly described.
図6に示す外部メモリアクセス装置は、選択器20、加算器(ADDR)22、及び書き込みデータ制御回路24に加えて、コントロールコードA用の一時記憶素子28、及び、PEのレジスタ格納データに対してコントロールコードが割り付けられてなる特殊コードを判定する特殊データ判定回路25を含む。
In addition to the
更に、図6に示す外部メモリアクセス装置には、一時記憶素子28の出力、コントロールコードB、及び特殊データ判定回路25の出力の夫々を入力とし、選択器20へ出力を与える第1の論理和回路30が含まれる。コントロールコードA及び特殊データ判定回路25の出力の夫々を入力とし、書き込みデータ制御回路24へ出力を与える第2の論理和回路26も含む。ただし、後述するように、PEのレジスタに格納される特殊コードが、コントロールコードBに対応するものであれば、第2の論理和回路26は設けられず図3に示す回路と同様にコントロールコードAが書き込みデータ制御回路24に直接入力するように構成される。また、PEのレジスタに格納される特殊コードが、コントロールコードAに対応するものであれば、第1の論理和回路30には、特殊データ判定回路25の出力が入力しないように構成される。
Further, in the external memory access device shown in FIG. 6, the first logical sum that receives the output of the
図6に示す外部メモリアクセス装置に含まれる一時記憶素子28の動作について、図7を用いて説明する。PE0〜PE6のレジスタにおいて、図7の1段目に示すように、00h、01h、01h、02h、02h、02h、03h・・・のデータが保持されているとする。ここで、上述したようにSIMD型マイクロプロセッサの命令により、コントロールコードAを生成すると0、1、0、1、1、0、0となる(図7の2段目参照)。このコードに対して一時記憶素子28を用いて遅延を与えると、図7の3段目と4段目に示すように、コントロールコードBと等しいコードが得られる。従って、一時記憶素子28の出力を、第1の論理和回路30に入力することができることになる。
The operation of
次に、図6に示す外部メモリアクセス装置に含まれる特殊データ判定回路25の機能について、図8を用いて説明する。PE0〜PE7のレジスタにおいて、図8の1段目に示すように、00h、01h、01h、02h、02h、02h、03h・・・のデータが保持されているとする。ここで、上述したようにSIMD型マイクロプロセッサの命令により、レジスタのデータ値が1つ前のPEと同じであるPEについては、データを特殊コード“FFh”に書き換える(上書きする)ような処理を行う。こうすることで、データ自体にコントロールコード(図8の場合は、コントロールコードB)を割り付けることができる。この書き換えられたコントロールコード割付けデータについては、図6で示される特殊コード判定回路25によりコントロールコードが取り出される。従って、図8のようなコントロールコード割付けデータの場合には、特殊コード判定回路25の出力を第1の論理和回路30の入力とすることができる。ただし、第2の論理和回路26の入力とはならない。
Next, the function of the special
なお、SIMD型マイクロプロセッサの命令により、レジスタのデータ値が1つ後のPEと同じであるPEについて、データを特殊コード“FFh”に書き換えるような処理が為されて、コントロールコード割付けデータが生成されてもよい。この場合、データ自体にコントロールコードAが割り付けられることになる。このコントロールコード割付けデータに対しては、特殊コード判定回路25によりコントロールコードAが取り出される。従って、この場合、特殊コード判定回路25の出力は第2の論理和回路26の入力とされることになる。ただし、第1の論理和回路30の入力とはならない。
By the instruction of the SIMD type microprocessor, the processing that rewrites the data to the special code “FFh” is performed for the PE whose register data value is the same as the next PE, and the control code allocation data is generated. May be. In this case, the control code A is assigned to the data itself. For this control code assignment data, the control code A is taken out by the special
[第3の実施形態]
図9を用いて、ルックアップテーブル変換処理を行う本発明の第3の実施形態に係る画像処理装置について説明する。図9は、第3の実施形態に係る画像処理装置において、ルックアップテーブル変換処理を行うときのデータの入出力の様子を示す図である。ここでルックアップテーブル処理とは、入力データをアドレスとし、そのアドレスに対応するメモリ内のデータをテーブルデータとして、変換を行う処理である。図9に示すルックアップテーブル変換処理を行うときの第3の実施形態に係る画像処理装置のデータ入出力は、図1(1)に示す第1の実施形態に係る画像処理装置のものと略同一であるが、外部メモリアクセス装置4bからメモリ6への書込みが無いことが異なる点である。なお、変換により得られたテーブルデータは、後続の処理に利用されたり、外部へ出力されたり、SIMD型マイクロプロセッサ2へ戻されたり等、することとなる。
[Third embodiment]
An image processing apparatus according to the third embodiment of the present invention that performs lookup table conversion processing will be described with reference to FIG. FIG. 9 is a diagram illustrating a state of data input / output when the look-up table conversion process is performed in the image processing apparatus according to the third embodiment. Here, the look-up table process is a process of performing conversion using input data as an address and data in a memory corresponding to the address as table data. The data input / output of the image processing apparatus according to the third embodiment when performing the lookup table conversion process shown in FIG. 9 is substantially the same as that of the image processing apparatus according to the first embodiment shown in FIG. The difference is that there is no write to the
第3の実施形態に係る画像処理装置における、SIMD型マイクロプロセッサ2でコントロールコード(A、B)を生成するための構成、及びSIMD型マイクロプロセッサ2から外部メモリアクセス装置4へ伝達するための構成は、第1の実施形態に係る画像処理装置と同様である。
Configuration for generating control code (A, B) by
図10は、SIMD型マイクロプロセッサからの入力データに基づいて、メモリ6からテーブルデータを読み出す際の、メモリアクセス制御について示す図である。図10において、「CLK」は「クロック」であり、読出し動作のクロックを示す。図10では、1サイクル目から3サイクル目までを示している。
FIG. 10 is a diagram showing memory access control when reading table data from the
「ADD」には、PEのレジスタに格納されるデータ値が示されており、その内容はルックアップされるテーブルのアドレスである。「ctlcodeB」は、コントロールコードBを示す。第3の実施形態に係る画像処理装置におけるルックアップテーブル変換処理では、コントロールコードBのみが必要とされる。「Read Data」は、読出しデータ、即ち、読み出されたテーブルデータの内容である。「1つ前の保持Read Data」は、1つ前のPEのレジスタのデータからの入力データに基づいて読み出されたテーブルデータを、注目PEに関するサイクル時に保持しているものである。 “ADD” indicates a data value stored in the register of the PE, and the content is an address of a table to be looked up. “CtlcodeB” indicates the control code B. In the look-up table conversion process in the image processing apparatus according to the third embodiment, only the control code B is required. “Read Data” is the read data, that is, the contents of the read table data. “Previous holding Read Data” holds table data read based on the input data from the register data of the previous PE during the cycle related to the target PE.
なお、図5におけるメモリアクセス制御では、メモリへの読出しアクセス及び書込みアクセスを行なっていたため、各PEに関するサイクル数は3サイクルであった。これに対し、図10におけるメモリアクセス制御では、メモリへの読出しアクセスのみ行なわれるので、各PEに関するサイクル数は1サイクルである。 In the memory access control in FIG. 5, since the read access and the write access to the memory are performed, the number of cycles for each PE is three. On the other hand, in the memory access control in FIG. 10, only read access to the memory is performed, so the number of cycles for each PE is one cycle.
図10におけるメモリアクセス制御は、コントロールコードBに依存するのであり、2パターンのメモリアクセス制御(図10に示すパターン5、パターン6)が考えられる。
The memory access control in FIG. 10 depends on the control code B, and two patterns of memory access control (pattern 5 and
まず、パターン5は、注目PEのデータと1つ前のPEのデータとが一致しない場合である。この場合、注目PEのデータにおいてコントロールコードBがアサートされていないので、メモリ6へのリードアクセスが行なわれテーブルデータの読み出しが行われる。
First, the pattern 5 is a case where the data of the target PE and the data of the previous PE do not match. In this case, since the control code B is not asserted in the data of the target PE, read access to the
次に、パターン6は、注目PEのデータと1つ前のPEのデータとが一致している場合である。この場合、注目PEのデータにおいてコントロールコードBがアサートされているので、注目PEのデータによるテーブルのルックアップにおいては、1つ前のPEに関するアクセス時にメモリから読み出されたテーブルデータが流用され得るため、メモリへのリードアクセスが行なわれなくてもよい。よって、結果として2サイクル目を省略することができる。
Next,
以上のように、コントロールコードBを伴う、SIMD型マイクロプロセッサを構成するPEのレジスタに格納されるデータについて、本実施形態に係る外部メモリアクセス装置を利用してルックアップテーブル変換処理を行うことによって、画像処理装置における処理サイクルを削減することができる。 As described above, the data stored in the register of the PE constituting the SIMD type microprocessor accompanied with the control code B is subjected to the lookup table conversion process using the external memory access device according to the present embodiment. The processing cycle in the image processing apparatus can be reduced.
本発明は、画像処理を利用するシステム全般(例えば、デジタルカメラ、デジタルテレビジョン、プリンタ、デジタル複合機等)に利用することができる。 The present invention can be used for all systems that use image processing (for example, digital cameras, digital televisions, printers, digital multifunction peripherals, etc.).
2・・・SIMD型マイクロプロセッサ、4、4a、4b・・・外部メモリアクセス装置、6・・・メモリ、8・・・PE(プロセッサエレメント)、10・・・ポート、18・・・レジスタ。 2 ... SIMD type microprocessors, 4, 4a, 4b ... external memory access device, 6 ... memory, 8 ... PE (processor element), 10 ... port, 18 ... register.
Claims (5)
前記SIMD型マイクロプロセッサを構成する複数のプロセッサエレメントの、各々に含まれるレジスタに格納されるデータにおける、隣接するプロセッサエレメント間での連続関係に基づいて生成されるコントロールコードによって、前記外部メモリアクセス装置の前記メモリへのアクセスを削減する制御が為されることを特徴とする画像処理装置。 An image processing apparatus comprising: a memory; an external memory access device that performs read / write access to the memory; and a SIMD type microprocessor having a port that transmits data to the external memory access device.
The external memory access device by a control code generated based on a continuity relationship between adjacent processor elements in data stored in a register included in each of a plurality of processor elements constituting the SIMD type microprocessor The image processing apparatus is controlled to reduce access to the memory.
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第1のコントロールコードであることを特徴とする請求項1に記載の画像処理装置。 The control code is
Indicates a match or mismatch between data stored in a register included in the target processor element and data stored in a register included in the processor element immediately preceding the target processor element adjacent to the target processor element The image processing apparatus according to claim 1, wherein the image processing apparatus is a first control code.
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ後のプロセッサエレメントに含まれるレジスタに格納されるデータとの、一致又は不一致を示す第2のコントロールコードであることを特徴とする請求項1に記載の画像処理装置。 The control code is
Indicates a match or mismatch between data stored in a register included in the target processor element and data stored in a register included in the processor element immediately after the target processor element adjacent to the target processor element The image processing apparatus according to claim 1, wherein the image processing apparatus is a second control code.
注目プロセッサエレメントに含まれるレジスタに格納されるデータと、前記注目プロセッサエレメントに隣接する、前記注目プロセッサエレメントの1つ前のプロセッサエレメントに含まれるレジスタに格納されるデータとが一致する場合に、前記注目プロセッサエレメントに含まれるレジスタに格納されるデータに、上書きされる特定コードであり、
更に、前記外部メモリアクセス装置は、前記特定コードの検出回路を備えることを特徴とする請求項1に記載の画像処理装置。 The control code is
When the data stored in the register included in the processor element of interest matches the data stored in the register included in the processor element immediately before the processor element of interest adjacent to the processor element of interest It is a specific code that is overwritten on the data stored in the register included in the processor element of interest,
The image processing apparatus according to claim 1, wherein the external memory access device includes a detection circuit for the specific code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010058110A JP2011192058A (en) | 2010-03-15 | 2010-03-15 | Image processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010058110A JP2011192058A (en) | 2010-03-15 | 2010-03-15 | Image processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011192058A true JP2011192058A (en) | 2011-09-29 |
Family
ID=44796888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010058110A Pending JP2011192058A (en) | 2010-03-15 | 2010-03-15 | Image processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011192058A (en) |
-
2010
- 2010-03-15 JP JP2010058110A patent/JP2011192058A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010027032A (en) | Fifo device and method of storing data in fifo buffer | |
US7454589B2 (en) | Data buffer circuit, interface circuit and control method therefor | |
JP2010117806A (en) | Semiconductor device and data processing method by semiconductor device | |
US7702860B2 (en) | Memory access apparatus | |
JPH04105149A (en) | Memory access device | |
JP2011192058A (en) | Image processor | |
KR20020059763A (en) | Digital signal processor having a plurality of independent dedicated processors | |
JPWO2008105494A1 (en) | DMA transfer apparatus and method | |
JP2013093092A (en) | Dual-port memory and method thereof | |
JP2006293538A (en) | Calculation system | |
JP2005250683A (en) | Microcomputer | |
JP2005148904A (en) | Ring buffer controller and ring buffer control method | |
JPH0553920A (en) | Structural address generator | |
JP5929600B2 (en) | Information processing system, information processing apparatus, and electronic apparatus | |
JP6552975B2 (en) | Memory control device and memory device | |
JP2006155637A (en) | Apparatus for processing signal | |
JP2008204356A (en) | Re-configurable circuit | |
JP2010033452A (en) | Register control circuit and register control method | |
JP6275474B2 (en) | Semiconductor device and data transfer device | |
US9251887B2 (en) | Static random access memory system and operation method thereof | |
JP2956390B2 (en) | Drawing processor | |
JP2001202351A (en) | Simd type processor | |
JP4851964B2 (en) | Synchronization circuit using dual port memory | |
JP2013161325A (en) | Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor | |
JP2007233623A (en) | Data comparison processing circuit, its integrated circuit, and image processor |