JP6149003B2 - SIMD type processor - Google Patents
SIMD type processor Download PDFInfo
- Publication number
- JP6149003B2 JP6149003B2 JP2014112148A JP2014112148A JP6149003B2 JP 6149003 B2 JP6149003 B2 JP 6149003B2 JP 2014112148 A JP2014112148 A JP 2014112148A JP 2014112148 A JP2014112148 A JP 2014112148A JP 6149003 B2 JP6149003 B2 JP 6149003B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- bus
- registers
- processor
- input
- 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
- Executing Machine-Instructions (AREA)
- Image Processing (AREA)
Description
本発明は、例えば、画像データの処理に適用されるSIMD型プロセッサーに関する。 The present invention relates to a SIMD type processor applied to, for example, image data processing.
SIMD(Single Instruction Multiple Data)型プロセッサーは、一つの命令で複数のデータを並列処理するプロセッサーである。SIMD型プロセッサーは、複数のプロセッサーエレメントを備える。各プロセッサーエレメントは、複数のレジスター、及び、演算部を備え、一つのデータを処理する。 A SIMD (Single Instruction Multiple Data) processor is a processor that processes a plurality of data in parallel with one instruction. The SIMD type processor includes a plurality of processor elements. Each processor element includes a plurality of registers and an arithmetic unit, and processes one data.
SIMD型プロセッサーの用途の一つとして、画像処理がある。画像データは、複数の画素データにより構成され、画像処理は、各画素データに対して同じ処理(例えば、フィルター処理)をするからである。 One application of the SIMD type processor is image processing. This is because the image data is composed of a plurality of pixel data, and the image processing performs the same processing (for example, filter processing) on each pixel data.
各プロセッサーエレメントで一つのデータが処理されるが、これを改良し、各プロセッサーエレメントで一度に複数のデータが処理される技術が提案されている(例えば、特許文献1参照)。 One data is processed in each processor element, but a technique for improving this and processing a plurality of data at one time in each processor element has been proposed (for example, see Patent Document 1).
プロセッサーには、配線混雑の問題が不可避的に発生し、SIMD型プロセッサーもその例外ではない。 The problem of wiring congestion inevitably occurs in the processor, and the SIMD type processor is no exception.
本発明は、配線混雑を軽減できるSIMD型プロセッサーを提供することを目的とする。 An object of this invention is to provide the SIMD type processor which can reduce wiring congestion.
上記目的を達成する本発明に係るSIMD型プロセッサーは、複数のプロセッサーエレメントを備えるSIMD型プロセッサーであって、複数の前記プロセッサーエレメントのそれぞれは、複数のレジスターと、N個(Nは、2以上の整数)の演算回路と、N個の前記演算回路と1対1に対応し、対応する演算回路にデータを伝送するN個の入力バスと、前記入力バスと前記レジスターの出力部とを接続するバスであるレジスターバスと、を含み、前記SIMD型プロセッサーは、複数の前記プロセッサーエレメントのそれぞれに含まれる複数の前記レジスターのそれぞれに対して、1以上の前記演算回路を予め割り当て、前記レジスターに記憶されているデータを、前記レジスターバス及び前記入力バスを利用して、前記予め割り当てられた1以上の前記演算回路に伝送する制御を、複数の前記プロセッサーエレメントのそれぞれに含まれる複数の前記レジスターのそれぞれに対して実行するレジスター制御部を備え、複数の前記レジスターの中で、前記予め割り当てられた前記演算回路の数がNより少ない前記レジスターについて、データが伝送される前記演算回路と1対1に対応する前記入力バスに対して、前記レジスターバスが設けられ、データが伝送されない前記演算回路と1対1に対応する前記入力バスに対して、前記レジスターバスが設けられていない。 A SIMD type processor according to the present invention that achieves the above object is a SIMD type processor including a plurality of processor elements, each of the plurality of processor elements including a plurality of registers and N (N is two or more). (Integer) arithmetic circuit, N number of arithmetic circuits corresponding to N arithmetic circuits, N input buses for transmitting data to the corresponding arithmetic circuit, and the input bus and the output unit of the register are connected A register bus that is a bus, and the SIMD type processor pre-allocates one or more arithmetic circuits to each of the plurality of registers included in each of the plurality of processor elements, and stores them in the registers Data is allocated in advance using the register bus and the input bus. A register control unit configured to execute control to be transmitted to one or more of the arithmetic circuits for each of the plurality of registers included in each of the plurality of processor elements; With respect to the registers in which the number of the arithmetic circuits is less than N, the register bus is provided for the input bus corresponding to the arithmetic circuit to which data is transmitted one-to-one, and the arithmetic in which data is not transmitted The register bus is not provided for the input bus corresponding one-to-one with the circuit.
本発明に係るSIMD型プロセッサーでは、データが伝送される演算回路として、割り当てられている演算回路の個数がNより少ないレジスターについて、データが伝送される演算回路と1対1に対応する入力バスに対してレジスターバスが設けられ、データが伝送されない演算回路と1対1に対応する入力バスに対してレジスターバスが設けられていない。すなわち、プロセッサーエレメントに属するN個の演算回路の全てにデータが伝送されるレジスター以外のレジスターについて、データが伝送されない演算回路と1対1に対応する入力バスと接続されるレジスターバスを設けない。これにより、複数のプロセッサーエレメントのそれぞれに含まれるレジスターバスの数を減らすことができるので、配線混雑を軽減することができる。 In the SIMD type processor according to the present invention, as an arithmetic circuit to which data is transmitted, a register in which the number of allocated arithmetic circuits is less than N is assigned to an input bus corresponding to the arithmetic circuit to which data is transmitted one-to-one. On the other hand, a register bus is provided, and no register bus is provided for an arithmetic bus that does not transmit data and an input bus corresponding to one to one. That is, for registers other than the register to which data is transmitted to all of the N arithmetic circuits belonging to the processor element, there is no register bus connected to the arithmetic circuit to which data is not transmitted and the one-to-one input bus. As a result, the number of register buses included in each of the plurality of processor elements can be reduced, and wiring congestion can be reduced.
上記構成において、複数の前記プロセッサーエレメントは、主走査方向に並べて配置され、複数の前記プロセッサーエレメントのそれぞれにおいて、複数の前記レジスターは、副走査方向に並べて配置され、複数の前記プロセッサーエレメントのそれぞれは、N個の前記演算回路と1対1に対応し、対応する前記演算回路に出力するN個のマルチプレクサーを含み、複数の前記レジスターの中から、前記副走査方向に連続する前記レジスターにより構成される要素をレジスター群とした場合に、複数の前記プロセッサーエレメントのそれぞれにおいて、前記レジスターの組み合わせが互いに異なるN個のレジスター群が、N個の前記入力バスと1対1に対応し、かつ、N個の前記マルチプレクサーと1対1に対応し、かつ、N個の前記演算回路と1対1に対応して設けられており、各マルチプレクサーの入力部には、当該マルチプレクサーと1対1に対応する前記レジスター群である第1のレジスター群から出力されたデータを伝送する前記入力バス、及び、当該マルチプレクサーを含む前記プロセッサーエレメントの一方の隣側及び他方の隣側に位置する前記プロセッサーエレメントに含まれ、前記第1のレジスター群と同じ行の前記レジスターにより構成される前記レジスター群から出力されたデータを伝送する前記入力バスが接続される。 In the above configuration, the plurality of processor elements are arranged side by side in the main scanning direction, and in each of the plurality of processor elements, the plurality of registers are arranged in the sub scanning direction, and each of the plurality of processor elements is , One-to-one corresponding to the N arithmetic circuits, including N multiplexers that output to the corresponding arithmetic circuit, and configured from the plurality of registers that are continuous in the sub-scanning direction When each of the plurality of processor elements is a register group, N register groups having different combinations of registers correspond to the N input buses on a one-to-one basis, and There is a one-to-one correspondence with the N multiplexers, and the N arithmetic circuits The data output from the first register group, which is the register group corresponding to the multiplexer, is transmitted to the input section of each multiplexer. Included in the processor element located on one side of the processor element including the input bus and the multiplexer and on the other side of the processor element, and configured by the registers in the same row as the first register group The input bus for transmitting data output from the register group is connected.
この構成において、各マルチプレクサーの入力部には、当該マルチプレクサーと1対1に対応するレジスター群(第1のレジスター群)から出力されたデータを伝送する入力バス、及び、当該マルチプレクサーを含むプロセッサーエレメントの一方の隣側及び他方の隣側に位置するプロセッサーエレメントに含まれ、第1のレジスター群と同じ行のレジスターにより構成されるレジスター群から出力されたデータを伝送する入力バスが接続される。よって、着目する画素の周囲に位置する画素の画素データを一つの演算回路に送ることができるので、フィルター処理を実現することができる。 In this configuration, the input section of each multiplexer includes an input bus for transmitting data output from a register group (first register group) corresponding to the multiplexer in a one-to-one relationship, and the multiplexer. An input bus that transmits data output from a register group that is included in the processor elements located on one side of the processor element and on the other side of the processor element and that is composed of registers in the same row as the first register group is connected. The Therefore, the pixel data of the pixels located around the pixel of interest can be sent to one arithmetic circuit, so that filter processing can be realized.
本発明によれば、配線混雑を軽減できる。 According to the present invention, wiring congestion can be reduced.
以下、図面に基づいて本発明の実施形態を詳細に説明する。図1は、本発明の一実施形態に係るSIMD型プロセッサー3(図3)を備える画像形成装置1の内部構造の概略を示す模式図である。画像形成装置1は、例えば、コピー、プリンター、スキャナー及びファクシミリの機能を有するデジタル複合機に適用することができる。画像形成装置1は、装置本体100、装置本体100の上に配置された原稿読取部200、原稿読取部200の上に配置された原稿給送部300及び装置本体100の上部前面に配置された操作部400を備える。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a schematic diagram showing an outline of an internal structure of an
原稿給送部300は、自動原稿送り装置として機能し、原稿載置部301に置かれた複数枚の原稿を連続的に原稿読取部200で読み取ることができるように送ることができる。
The
原稿読取部200は、露光ランプ等を搭載したキャリッジ201、ガラス等の透明部材により構成された原稿台203、不図示のCCD(Charge Coupled Device)センサー、及び、原稿読取スリット205を備える。原稿台203に載置された原稿を読み取る場合、キャリッジ201を原稿台203の長手方向に移動させながらCCDセンサーにより原稿を読み取る。これに対して、原稿給送部300から給送された原稿を読み取る場合、キャリッジ201を原稿読取スリット205と対向する位置に移動させて、原稿給送部300から送られてきた原稿を、原稿読取スリット205を通してCCDセンサーにより読み取る。CCDセンサーは、読み取った原稿を画像データとして出力する。
The
装置本体100は、用紙貯留部101、画像形成部103及び定着部105を備える。用紙貯留部101は、装置本体100の最下部に配置されており、用紙の束を貯留することができる用紙トレイ107を備える。用紙トレイ107に貯留された用紙の束において、最上位の用紙がピックアップローラー109の駆動により、用紙搬送路111へ向けて送出される。用紙は、用紙搬送路111を通って、画像形成部103へ搬送される。
The apparatus
画像形成部103は、搬送されてきた用紙にトナー像を形成する。画像形成部103は、感光体ドラム113、露光部115、現像部117及び転写部119を備える。露光部115は、画像データ(原稿読取部200から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)に対応して変調された光を生成し、一様に帯電された感光体ドラム113の周面に照射する。これにより、感光体ドラム113の周面には、画像データに対応する静電潜像が形成される。この状態で感光体ドラム113の周面に現像部117からトナーを供給することにより、周面には画像データに対応するトナー像が形成される。このトナー像は、転写部119によって先ほど説明した用紙貯留部101から搬送されてきた用紙に転写される。
The
トナー像が転写された用紙は、定着部105に送られる。定着部105において、トナー像と用紙に熱と圧力が加えられて、トナー像は用紙に定着される。用紙はスタックトレイ121又は排紙トレイ123に排紙される。
The sheet on which the toner image is transferred is sent to the
操作部400は、操作キー部401と表示部403を備える。表示部403は、タッチパネル機能を有しており、ソフトキーを含む画面が表示される。ユーザーは、画面を見ながらソフトキーを操作することによって、コピー等の機能の実行に必要な設定等をする。
The
操作キー部401には、ハードキーからなる操作キーが設けられている。具体的には、スタートキー405、テンキー407、ストップキー409、リセットキー411、コピー、プリンター、スキャナー及びファクシミリを切り換えるための機能切換キー413等が設けられている。
The
スタートキー405は、コピー、ファクシミリ送信等の動作を開始させるキーである。テンキー407は、コピー部数、ファクシミリ番号等の数字を入力するキーである。ストップキー409は、コピー動作等を途中で中止させるキーである。リセットキー411は、設定された内容を初期設定状態に戻すキーである。
A
機能切換キー413は、コピーキー及び送信キー等を備えており、コピー機能、送信機能等を相互に切り替えるキーである。コピーキーを操作すれば、コピーの初期画面が表示部403に表示される。送信キーを操作すれば、ファクシミリ送信及びメール送信の初期画面が表示部403に表示される。
The function switching key 413 includes a copy key, a transmission key, and the like, and is a key for switching between a copy function, a transmission function, and the like. When the copy key is operated, an initial copy screen is displayed on the
図2は、図1に示す画像形成装置1の構成を示すブロック図である。画像形成装置1は、装置本体100、原稿読取部200、原稿給送部300、操作部400、制御部500及び通信部600がバスによって相互に接続された構成を有する。装置本体100、原稿読取部200、原稿給送部300及び操作部400に関しては既に説明したので、説明を省略する。
FIG. 2 is a block diagram showing a configuration of the
制御部500は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、及び、画像メモリー等を備える。CPUは、画像形成装置1を動作させるために必要な制御を、装置本体100等の画像形成装置1の上記構成要素に対して実行する。ROMは、画像形成装置1の動作の制御に必要なソフトウェアを記憶している。RAMは、ソフトウェアの実行時に発生するデータの一時的な記憶及びアプリケーションソフトの記憶等に利用される。画像メモリーは、画像データ(原稿読取部200から出力された画像データ、パソコンから送信された画像データ、ファクシミリ受信の画像データ等)を一時的に記憶する。
The
制御部500は、さらに、SIMD型プロセッサー3を備える。これについては、後で詳細に説明する。
The
通信部600は、ファクシミリ通信部601及びネットワークI/F部603を備える。ファクシミリ通信部601は、相手先ファクシミリとの電話回線の接続を制御するNCU(Network Control Unit)、及び、ファクシミリ通信用の信号を変復調する変復調回路を備える。ファクシミリ通信部601は、電話回線605に接続される。
The
ネットワークI/F部603は、LAN(Local Area Network)607に接続される。ネットワークI/F部603は、LAN607に接続されたパソコン等の端末装置との間で通信を実行するための通信インターフェイス回路である。
The network I /
図3は、本実施形態に係るSIMD型プロセッサー3の構成を示すブロック図である。SIMD型プロセッサー3は、複数のプロセッサーエレメント4、グローバルプロセッサー11、外部インターフェイス12、及び、複数のバス13を備える。
FIG. 3 is a block diagram showing the configuration of the
複数のプロセッサーエレメント4は、主走査方向D1に並べて配置されている。複数のプロセッサーエレメント4は、同じ構成をしており、プロセッサーエレメント4aを参照して、プロセッサーエレメント4の構成を説明する。
The plurality of
プロセッサーエレメント4aは、4個のレジスター5a,5b,5c,5d、2個の演算回路6a,6b、2個の入力バス7a,7b、及び、2個のマルチプレクサー8a,8bを含む。レジスター5a,5b,5c,5dを区別しない場合、レジスター5と記載する。演算回路6a,6bを区別しない場合、演算回路6と記載する。入力バス7a,7bを区別しない場合、入力バス7と記載する。マルチプレクサー8a,8bを区別しない場合、マルチプレクサー8と記載する。
The
プロセッサーエレメント4aは、さらに、入力バス7とレジスター5の出力とを接続するバスであるレジスターバス10を備える。
The
レジスター5は、16ビットのデータを記憶する。演算回路6は、算術論理演算器であり、16ビットのデータを演算する。入力バス7及びレジスターバス10は、16ビットのデータを伝送する。マルチプレクサー8は、入力した16ビットのデータを出力する。本実施形態では、演算回路6が16ビットのデータを処理する例で説明するが、演算回路6が処理できるデータは16ビットに限定されない。
The
4個のレジスター5は、レジスター5a,5b,5c,5dの順番で、副走査方向D2に並べて配置されている。レジスター5a,5b,5cのそれぞれの出力は、レジスターバス10によって入力バス7aと接続されている。レジスター5b,5c,5dの出力は、レジスターバス10によって入力バス7bと接続されている。
The four
4個のレジスター5の中から、副走査方向D2に連続する3個のレジスター5により構成される要素をレジスター群9とする。3個のレジスター5の組み合わせが互いに異なる2つのレジスター群9が設けられている。一つは、レジスター5a,5b,5cにより構成されるレジスター群9aであり、他の一つは、レジスター5b,5c,5dにより構成されるレジスター群9bである。レジスター群9a,9bを区別しない場合、レジスター群9と記載する。
Among the four
入力バス7aを利用して伝送されてきたデータは、マルチプレクサー8aに入力される。マルチプレクサー8aから出力されたデータは、演算回路6aに入力される。一方、入力バス7bを利用して伝送されてきたデータは、マルチプレクサー8bに入力される。マルチプレクサー8bから出力されたデータは、演算回路6bに入力される。
Data transmitted using the
以上説明したように、複数のプロセッサーエレメント4のそれぞれは、M個のレジスター5と、N個の演算回路6と、N個の演算回路6と1対1に対応し、対応する演算回路6にデータを伝送するN個の入力バス7と、N個の演算回路6と1対1に対応し、対応する演算回路6に出力するN個のマルチプレクサー8と、を含む。複数のプロセッサーエレメント4のそれぞれにおいて、レジスター5の組み合わせが互いに異なるN個のレジスター群9が、N個の入力バス7と1対1に対応し、かつ、N個のマルチプレクサー8と1対1に対応し、かつ、N個の演算回路6と1対1に対応して設けられている。本実施形態では、Mが4であり、Nが2の態様で説明しているが、Mが、2以上の整数であり、Nが、M以下、かつ、2以上の整数であればよい。
As described above, each of the plurality of
プロセッサーエレメント4aのマルチプレクサー8aの入力部には、レジスター群9aから出力されたデータを伝送する入力バス7a、及び、プロセッサーエレメント4aの両隣のプロセッサーエレメント4に備えられるレジスター群9aから出力されるデータを伝送する入力バス7aが接続される。これにより、後で説明するように、3×3のフィルター処理を実行することができる。同様に、プロセッサーエレメント4aのマルチプレクサー8bの入力部には、レジスター群9bから出力されたデータを伝送する入力バス7b、及び、プロセッサーエレメント4aの両隣のプロセッサーエレメント4に備えられるレジスター群9bから出力されるデータを伝送する入力バス7bが接続される。
The input portion of the
このように、各マルチプレクサー8の入力部には、当該マルチプレクサー8と1対1に対応するレジスター群9である第1のレジスター群から出力されたデータを伝送する入力バス7、及び、当該マルチプレクサー8を含むプロセッサーエレメント4の一方の隣側及び他方の隣側に位置するプロセッサーエレメント4に含まれ、第1のレジスター群と同じ行のレジスター5により構成されるレジスター群9から出力されたデータを伝送する入力バス7が接続される。
In this way, the input section of each
グローバルプロセッサー11は、グローバルプロセッサー11に格納されているプログラムを実行することにより、各プロセッサーエレメント4の動作を制御する。
The global processor 11 controls the operation of each
グローバルプロセッサー11は、レジスター制御部14を含む。レジスター制御部14は、以下の制御をする。レジスター5aに記憶されているデータを、レジスターバス10及び入力バス7aを利用して、演算回路6aに伝送する。レジスター5bに記憶されているデータを、レジスターバス10及び入力バス7a,7bを利用して、演算回路6a,6bに伝送する。レジスター5cに記憶されているデータを、レジスターバス10及び入力バス7a,7bを利用して、演算回路6a,6bに伝送する。レジスター5dに記憶されているデータを、レジスターバス10及び入力バス7bを利用して、演算回路6bに伝送する。
The global processor 11 includes a
このように、レジスター制御部14は、複数のプロセッサーエレメント4のそれぞれに含まれる複数のレジスター5のそれぞれに対して、1以上の演算回路6を予め割り当て、レジスター5に記憶されているデータを、レジスターバス10及び入力バス7を利用して、予め割り当てられた1以上の演算回路6に伝送する制御を、複数のプロセッサーエレメント4のそれぞれに含まれる複数のレジスター5のそれぞれに対して実行する。
As described above, the
複数のレジスター5の中で、予め割り当てられた演算回路6の数がNより少ないレジスター5について、データが伝送される演算回路6と1対1に対応する入力バス7に対して、レジスターバス10が設けられ、データが伝送されない演算回路6と1対1に対応する入力バス7に対して、レジスターバス10が設けられていない。
Among the plurality of
詳しく説明すると、1以上の演算回路6の数がN(ここでは、2)より少ないレジスター5とは、レジスター5a,5dである。レジスター5aの出力と入力バス7aとを接続するレジスターバス10は設けられているが、レジスター5aの出力と入力バス7bとを接続するレジスターバス10は設けられていない。レジスター5dの出力と入力バス7bとを接続するレジスターバス10は設けられているが、レジスター5dの出力と入力バス7aとを接続するレジスターバス10は設けられていない。
More specifically, the
レジスター5aの出力と入力バス7bとを接続するレジスターバス10が設けられていない。これは、後で、図5及び図6を用いて説明するように、レジスター5aに記憶されているデータが、演算回路6bの演算に利用されないからである。
The
同様に、レジスター5dの出力と入力バス7aとを接続するレジスターバス10が設けられていない。これは、後で、図5及び図6を用いて説明するように、レジスター5dに記憶されているデータが、演算回路6aの演算に利用されないからである。
Similarly, the
バス13は、副走査方向D2が同じ位置のレジスター5、言い換えれば、同じ行に位置するレジスター5の入力部と接続されている。データは、外部インターフェイス12及びバス13を経由して、レジスター5に転送される。
The
図4は、SIMD型プロセッサー3によって、3×3のフィルター処理がされる画像の一部を示す模式図である。画像の一部は、30個の画素20により構成され、主走査方向D1に5個の画素20が並び、かつ、副走査方向D2に6個の画素20が並んでいる。
FIG. 4 is a schematic diagram showing a part of an image that is subjected to 3 × 3 filter processing by the
画素値がそれぞれ「a1」〜「a5」である、主走査方向D1に並ぶ5つの画素20は、N−1番目ラインに属する。以下、同様に、画素値がそれぞれ「b1」〜「b5」である、主走査方向D1に並ぶ5つの画素20は、N番目ラインに属する。画素値がそれぞれ「c1」〜「c5」である、主走査方向D1に並ぶ5つの画素20は、N+1番目ラインに属する。画素値がそれぞれ「d1」〜「d5」である、主走査方向D1に並ぶ5つの画素20は、N+2番目ラインに属する。画素値がそれぞれ「e1」〜「e5」である、主走査方向D1に並ぶ5つの画素20は、N+3番目ラインに属する。画素値がそれぞれ「f1」〜「f5」である、主走査方向D1に並ぶ5つの画素20は、N+4番目ラインに属する。
Five
N−1番目ライン、N番目ライン、N+1番目ライン、N+2番目ライン、N+3番目ライン、及び、N+4番目ラインは、副走査方向D2に連続して並ぶラインである。各ラインは、主走査方向D1に連続して並ぶ画素20により構成される。
The (N−1) th line, the Nth line, the N + 1th line, the N + 2nd line, the N + 3rd line, and the N + 4th line are lines that are continuously arranged in the sub-scanning direction D2. Each line is composed of
図5は、図3に示すSIMD型プロセッサー3の各レジスター5に、図4に示すN−1番目ライン〜N+2番目ラインの画素値がセットされた状態を示す模式図である。N番目ラインを構成する画素20に対する3×3のフィルター処理、及び、N+1番目ラインを構成する画素20に対する3×3のフィルター処理を同時に実行される。
FIG. 5 is a schematic diagram showing a state in which the pixel values of the (N−1) th line to the (N + 2) th line shown in FIG. 4 are set in each
例えば、画素値b3の画素20に対する3×3のフィルター処理において、プロセッサーエレメント4aの演算回路6aは、画素値a2,a3,a4,b2,b4,c2,c3,c4を用いて演算を実行する。また、例えば、画素値c3の画素20に対する3×3のフィルター処理において、プロセッサーエレメント4aの演算回路6bは、画素値b2,b3,b4,c2,c4,d2,d3,d4を用いて演算を実行する。
For example, in the 3 × 3 filter process for the
図6は、図3に示すSIMD型プロセッサー3の各レジスター5に、図4に示すN+1番目ライン〜N+4番目ラインの画素値がセットされた状態を示す模式図である。N+2番目ラインを構成する画素20に対する3×3のフィルター処理、及び、N+3番目ラインを構成する画素20に対する3×3のフィルター処理を同時に実行される。
FIG. 6 is a schematic diagram showing a state where the pixel values of the (N + 1) th line to the (N + 4) th line shown in FIG. 4 are set in each
例えば、画素値d3の画素20に対する3×3のフィルター処理において、プロセッサーエレメント4aの演算回路6aは、画素値c2,c3,c4,d2,d4,e2,e3,e4を用いて演算を実行する。また、例えば、画素値e3の画素20に対する3×3のフィルター処理において、プロセッサーエレメント4aの演算回路6bは、画素値d2,d3,d4,e2,e4,f2,f3,f4を用いて演算を実行する。
For example, in the 3 × 3 filter process for the
本実施形態の主な効果を説明する。図3を参照して、本実施形態では、データが伝送される演算回路6として、割り当てられている演算回路6の個数がN(ここでは、2)より少ないレジスター5(レジスター5a,5d)について、データが伝送される演算回路6と1対1に対応する入力バス7に対してレジスターバス10が設けられ、データが伝送されない演算回路6と1対1に対応する入力バス7に対してレジスターバス10が設けられていない。すなわち、プロセッサーエレメント4に属する2個の演算回路6の全てにデータが伝送されるレジスター5b,5c以外のレジスター5について、データが伝送されない演算回路6と1対1に対応する入力バス7と接続されるレジスターバス10を設けない。これにより、複数のプロセッサーエレメント4のそれぞれに含まれるレジスターバス10の数を減らすことができるので、配線混雑を軽減することができる。
The main effects of this embodiment will be described. Referring to FIG. 3, in the present embodiment, as
また、本実施形態において、各マルチプレクサー8の入力部には、当該マルチプレクサー8と1対1に対応するレジスター群9(第1のレジスター群)から出力されたデータを伝送する入力バス7、及び、当該マルチプレクサー8を含むプロセッサーエレメント4の一方の隣側及び他方の隣側に位置するプロセッサーエレメント4に含まれ、第1のレジスター群と同じ行のレジスター5により構成されるレジスター群9から出力されたデータを伝送する入力バス7が接続される。よって、着目する画素20の周囲に位置する画素20の画素データを一つの演算回路6に送ることができるので、フィルター処理を実現することができる。
Further, in the present embodiment, an
本実施形態では、各プロセッサーエレメント4に属するレジスター5の個数Mが、4の場合で説明したが、個数Mは、2以上の整数であればよい。例えば、レジスター5の個数Mが32の場合について簡単に説明する。図7は、レジスター5の個数Mが32の場合のプロセッサーエレメント4を示す模式図である。
In this embodiment, the case where the number M of the
32個のレジスター5は、レジスター5−0〜5−31の順番で、副走査方向D2に並べて配置されている。レジスター5−0〜5−18のそれぞれの出力部は、レジスターバス10によって入力バス7aと接続されている。レジスター5−13〜5−31のそれぞれの出力部は、レジスターバス10によって入力バス7bと接続されている。
The 32
プロセッサーエレメント4aの一方の隣側の連続する三つのプロセッサーエレメント4に含まれる入力バス7a、及び、プロセッサーエレメント4aの他方の隣側の連続する三つのプロセッサーエレメント4に含まれる入力バス7aが、プロセッサーエレメント4aのマルチプレクサー8aの入力部に接続されている。同様に、プロセッサーエレメント4aの一方の隣側の連続する三つのプロセッサーエレメント4に含まれる入力バス7b、及び、プロセッサーエレメント4aの他方の隣側の連続する三つのプロセッサーエレメント4に含まれる入力バス7bが、プロセッサーエレメント4aのマルチプレクサー8bの入力部に接続されている。これにより、7×7のフィルター処理を実行できる構成となる。
An
このように、図3を参照して、プロセッサーエレメント4aの入力バス7a、プロセッサーエレメント4aの一方の隣側に連続して並ぶプロセッサーエレメント4の入力バス7a、及び、プロセッサーエレメント4aの他方の隣側に連続して並ぶプロセッサーエレメント4の入力バス7aを、プロセッサーエレメント4aのマルチプレクサー8aの入力部に接続する。同様に、プロセッサーエレメント4aの入力バス7b、プロセッサーエレメント4aの一方の隣側に連続して並ぶプロセッサーエレメント4の入力バス7b、及び、プロセッサーエレメント4aの他方の隣側に連続して並ぶプロセッサーエレメント4の入力バス7bを、プロセッサーエレメント4aのマルチプレクサー8bの入力部に接続する。これにより、3×3以上の任意のフィルター処理を実行できる構成にすることができる。
As described above, referring to FIG. 3, the
図7を参照して、レジスター5−13〜5−18に記憶されているデータは、2つの演算回路6a,6bに伝送することができる。これらのレジスター5には、2つの演算回路6a,6bに伝送される画素値のデータやフィルター処理のパラメータが記憶される。
Referring to FIG. 7, data stored in registers 5-13 to 5-18 can be transmitted to two
本実施形態では、一つのプロセッサーエレメント4に属する演算回路6、マルチプレクサー8、及び、入力バス7の個数Nが2の場合で説明したが、個数Nは、個数M以下、かつ、2以上の整数であればよい。図8は、個数Nが3の場合のプロセッサーエレメント4を示す模式図である。
In the present embodiment, the number N of the
プロセッサーエレメント4は、5個のレジスター5a,5b,5c,5d,5e、3個の演算回路6a,6b,6c、3個の入力バス7a,7b,7c、及び、3個のマルチプレクサー8a,8b,8cを含む。
The
5個のレジスター5は、レジスター5a,5b,5c,5d,5eの順番で、副走査方向D2に並べて配置されている。レジスター5a,5b,5cのそれぞれの出力は、レジスターバス10によって入力バス7aと接続されている。レジスター5b,5c,5dの出力は、レジスターバス10によって入力バス7bと接続されている。レジスター5c,5d,5eの出力は、レジスターバス10によって入力バス7cと接続されている。
The five
レジスター5a,5b,5cによりレジスター群9aが構成されている。レジスター5b,5c,5dによりレジスター群9bが構成されている。レジスター5c,5d,5eによりレジスター群9cが構成されている。
A
入力バス7aは、マルチプレクサー8aの入力部と接続され、マルチプレクサー8aの出力は、演算回路6aの入力部と接続されている。入力バス7bは、マルチプレクサー8bの入力部と接続され、マルチプレクサー8bの出力は、演算回路6bの入力部と接続されている。入力バス7cは、マルチプレクサー8cの入力部と接続され、マルチプレクサー8cの出力は、演算回路6cの入力部と接続されている。
The
1 画像形成装置
3 SIMD型プロセッサー
4,4a プロセッサーエレメント
5,5a〜5e,5−0〜5−31 レジスター
6,6a,6b 演算回路
7,7a,7b 入力バス
8,8a,8b マルチプレクサー
9,9a,9b レジスター群
10 レジスターバス
11 グローバルプロセッサー
12 外部インターフェイス
13 バス
14 レジスター制御部
20 画素
DESCRIPTION OF
Claims (2)
複数の前記プロセッサーエレメントのそれぞれは、
複数のレジスターと、
N個(Nは、2以上の整数)の演算回路と、
N個の前記演算回路と1対1に対応し、対応する演算回路にデータを伝送するN個の入力バスと、
前記入力バスと前記レジスターの出力部とを接続するバスであるレジスターバスと、を含み、
前記SIMD型プロセッサーは、複数の前記プロセッサーエレメントのそれぞれに含まれる複数の前記レジスターのそれぞれに対して、1以上の前記演算回路を予め割り当て、前記レジスターに記憶されているデータを、前記レジスターバス及び前記入力バスを利用して、前記予め割り当てられた1以上の前記演算回路に伝送する制御を、複数の前記プロセッサーエレメントのそれぞれに含まれる複数の前記レジスターのそれぞれに対して実行するレジスター制御部を備え、
複数の前記レジスターの中で、前記予め割り当てられた前記演算回路の数がNより少ない前記レジスターについて、データが伝送される前記演算回路と1対1に対応する前記入力バスに対して、前記レジスターバスが設けられ、データが伝送されない前記演算回路と1対1に対応する前記入力バスに対して、前記レジスターバスが設けられていないSIMD型プロセッサー。 A SIMD type processor having a plurality of processor elements,
Each of the plurality of processor elements is
Multiple registers,
N arithmetic circuits (N is an integer of 2 or more);
N input buses corresponding one-to-one with the N arithmetic circuits and transmitting data to the corresponding arithmetic circuits;
A register bus that is a bus connecting the input bus and the output of the register,
The SIMD type processor pre-allocates one or more arithmetic circuits to each of the plurality of registers included in each of the plurality of processor elements, and the data stored in the register is transferred to the register bus and A register control unit configured to execute control for transmitting to the one or more pre-assigned arithmetic circuits using the input bus for each of the plurality of registers included in each of the plurality of processor elements; Prepared,
Among the plurality of registers, the number of the pre-assigned arithmetic circuits is less than N, and the register is connected to the input bus corresponding to the arithmetic circuit to which data is transmitted one-to-one. A SIMD processor in which a bus is provided and the register bus is not provided for the input bus corresponding to the arithmetic circuit in which data is not transmitted.
複数の前記プロセッサーエレメントのそれぞれにおいて、複数の前記レジスターは、副走査方向に並べて配置され、
複数の前記プロセッサーエレメントのそれぞれは、N個の前記演算回路と1対1に対応し、対応する前記演算回路に出力するN個のマルチプレクサーを含み、
複数の前記レジスターの中から、前記副走査方向に連続する前記レジスターにより構成される要素をレジスター群とした場合に、複数の前記プロセッサーエレメントのそれぞれにおいて、前記レジスターの組み合わせが互いに異なるN個のレジスター群が、N個の前記入力バスと1対1に対応し、かつ、N個の前記マルチプレクサーと1対1に対応し、かつ、N個の前記演算回路と1対1に対応して設けられており、
各マルチプレクサーの入力部には、当該マルチプレクサーと1対1に対応する前記レジスター群である第1のレジスター群から出力されたデータを伝送する前記入力バス、及び、当該マルチプレクサーを含む前記プロセッサーエレメントの一方の隣側及び他方の隣側に位置する前記プロセッサーエレメントに含まれ、前記第1のレジスター群と同じ行の前記レジスターにより構成される前記レジスター群から出力されたデータを伝送する前記入力バスが接続される請求項1に記載のSIMD型プロセッサー。 The plurality of processor elements are arranged side by side in the main scanning direction,
In each of the plurality of processor elements, the plurality of registers are arranged side by side in the sub-scanning direction,
Each of the plurality of processor elements includes N multiplexers corresponding to the N arithmetic circuits in a one-to-one correspondence and outputting to the corresponding arithmetic circuits,
N registers having different combinations of registers in each of the plurality of processor elements, when a register group is an element constituted by the registers continuous in the sub-scanning direction among the plurality of registers. A group has a one-to-one correspondence with the N input buses, a one-to-one correspondence with the N multiplexers, and a one-to-one correspondence with the N arithmetic circuits. And
The input section of each multiplexer has the input bus for transmitting data output from the first register group which is the register group corresponding to the multiplexer in a one-to-one relationship, and the processor including the multiplexer The input for transmitting data output from the register group, which is included in the processor element located on one side of the element and on the other side of the element, and is configured by the registers in the same row as the first register group The SIMD type processor according to claim 1, to which a bus is connected.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014112148A JP6149003B2 (en) | 2014-05-30 | 2014-05-30 | SIMD type processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014112148A JP6149003B2 (en) | 2014-05-30 | 2014-05-30 | SIMD type processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015225634A JP2015225634A (en) | 2015-12-14 |
| JP6149003B2 true JP6149003B2 (en) | 2017-06-14 |
Family
ID=54842296
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014112148A Expired - Fee Related JP6149003B2 (en) | 2014-05-30 | 2014-05-30 | SIMD type processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6149003B2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4478050B2 (en) * | 2005-03-18 | 2010-06-09 | 株式会社リコー | SIMD type microprocessor and data processing method |
| JP4690362B2 (en) * | 2007-07-04 | 2011-06-01 | 株式会社リコー | SIMD type microprocessor and data transfer method for SIMD type microprocessor |
-
2014
- 2014-05-30 JP JP2014112148A patent/JP6149003B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015225634A (en) | 2015-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4553015B2 (en) | Image forming apparatus | |
| JP4522293B2 (en) | Image forming apparatus | |
| JP2016006558A (en) | Image forming apparatus and job execution method | |
| JP6149003B2 (en) | SIMD type processor | |
| JP2015154411A (en) | Read image processing apparatus, image reading apparatus, image forming apparatus, read image processing program, and read image processing method | |
| JP6209932B2 (en) | Image forming apparatus, image forming system, and reading control method | |
| JP4871211B2 (en) | Image processing apparatus and image forming apparatus | |
| JP5498992B2 (en) | Display control apparatus and image forming apparatus | |
| JP5168044B2 (en) | Image reading apparatus and image forming apparatus | |
| JP2015226184A (en) | Image processing device | |
| JP5098509B2 (en) | Image forming apparatus | |
| JP2009239461A (en) | Image forming apparatus | |
| JP2012047920A (en) | Image forming system and image forming apparatus | |
| JP4856604B2 (en) | Image forming apparatus, image data processing method, and program | |
| JP4814837B2 (en) | Image processing apparatus and image forming apparatus | |
| JP5269044B2 (en) | Image processing apparatus and image forming apparatus | |
| JP5520894B2 (en) | Image forming apparatus | |
| JP2011082814A (en) | Image forming device | |
| JP2008234543A (en) | Image recording apparatus | |
| JP2012101495A (en) | Image forming system | |
| JP4814838B2 (en) | Image processing apparatus and image forming apparatus | |
| JP2019114962A (en) | Image forming apparatus and image forming method | |
| JP5544339B2 (en) | Electronic apparatus and image forming apparatus | |
| JP6111216B2 (en) | Image forming apparatus | |
| JP6780621B2 (en) | Image processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160620 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170308 |
|
| 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: 20170425 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170522 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6149003 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |