JP2013161325A - Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor - Google Patents
Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor Download PDFInfo
- Publication number
- JP2013161325A JP2013161325A JP2012023805A JP2012023805A JP2013161325A JP 2013161325 A JP2013161325 A JP 2013161325A JP 2012023805 A JP2012023805 A JP 2012023805A JP 2012023805 A JP2012023805 A JP 2012023805A JP 2013161325 A JP2013161325 A JP 2013161325A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- read
- value
- address
- 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
Landscapes
- Image Processing (AREA)
Abstract
Description
本発明は、1つの演算命令により画像データ等の複数のデータを並列処理するSIMD(Single Instruction-stream Multiple Data-stream)型マイクロプロセッサと、SIMD型マイクロプロセッサを有するプロセッサシステムおよびSIMD型マイクロプロセッサのデータ処理方法に関する。 The present invention relates to a single instruction-stream multiple data-stream (SIMD) type microprocessor that processes a plurality of data such as image data in parallel by one arithmetic instruction, a processor system having a SIMD type microprocessor, and a SIMD type microprocessor. The present invention relates to a data processing method.
SIMD型マイクロプロセッサでは1つの命令で複数のデータに対して同時に同じ演算処理が実行可能である。この構造により画像処理等を行うべき多くのデータに対して同一の演算を行う用途に使用されている。 In the SIMD type microprocessor, the same arithmetic processing can be executed simultaneously on a plurality of data with one instruction. With this structure, it is used for the purpose of performing the same operation on a lot of data to be subjected to image processing and the like.
SIMD型マイクロプロセッサにおいて、通常の演算処理は複数の演算器を並べ同じ演算を同時に複数のデータに対して実行することで実現できるが、演算処理が式で表すことができない非線形な処理は演算対象のデータによって演算式が変更となるため同じ処理を同時に実行できない。 In a SIMD type microprocessor, normal arithmetic processing can be realized by arranging a plurality of arithmetic units and executing the same operation on a plurality of data at the same time, but non-linear processing in which arithmetic processing cannot be expressed by an expression is subject to calculation. The same processing cannot be executed at the same time because the arithmetic expression is changed depending on the data.
この種の非線形の画像処理の一例として回転という処理が挙げられる。これは、デジタルコピー機などにおいて原稿がコンタクトガラスに対して歪んで置かれた場合に水平面に対して歪んでいる角度分だけスキャンした画像を回転することで適正な画像を得るという処理である。 An example of this kind of non-linear image processing is a process called rotation. This is a process of obtaining an appropriate image by rotating an image scanned by an angle distorted with respect to a horizontal plane when an original is distorted with respect to a contact glass in a digital copying machine or the like.
特許文献1では、回転処理において回転前の元データに対して、回転角度に応じて副走査方向のずれ量を算出して回転後のデータをサンプリングしていき、バイリニアあるいはバイキュービックで補間演算することで回転処理を実現することが記載されている。
In
特許文献2や3には、SIMD型マイクロプロセッサが備える各プロセッサエレメント(PE)に個別のSRAM(Static Random Access Memory)を持った構成となっており、それぞれのPEで副走査方向のずれ量を計算した値をアドレスとしてデータを参照することが可能である。
In
特許文献4は、各PEに独立したSRAMを持つことなくLUT(Look Up Table)に代表される非線形処理を高速に行う構成が記載されている。
特許文献1に記載された発明をSIMD型マイクロプロセッサで行うためにはPEからアクセス可能なメモリに格納されているデータをPE番号の順にアドレスをインクリメントさせながら逐次で読み出していくしかなく、これを命令として実行させるとサイクル数が膨大にかかるという問題があった。
In order to perform the invention described in
特許文献2、3に記載された発明は、全てのPEに内蔵しているSRAMはアドレスデコーダをそれぞれが持つ構成であるためにPE数が多いSIMD型マイクロプロセッサでは回路規模が増大しコストが増大してしまうという問題があった。
In the inventions described in
特許文献4は、ガンマ補正のように各PEで同一の参照メモリを用いた処理にしか適用できないという問題があった。
本発明はかかる問題を解決することを目的としている。 The present invention aims to solve such problems.
すなわち、本発明は、少ない回路追加のみで回転処理などの各PEが異なったアドレスのデータを参照する処理を高速に行うことが出来るSIMD型マイクロプロセッサ、プロセッサシステムおよびSIMD型マイクロプロセッサのデータ処理方法を提供することを目的としている。 That is, the present invention provides a SIMD microprocessor, a processor system, and a data processing method for a SIMD microprocessor that can perform high-speed processing for referring to data at different addresses for each PE, such as rotation processing, with only a small number of additional circuits. The purpose is to provide.
上記に記載された課題を解決するために請求項1に記載された発明は、所定のアドレスによってリードまたはライトアクセス可能な複数のレジスタを備えたプロセッサエレメントを複数有するSIMD型マイクロプロセッサにおいて、前記プロセッサエレメントとのみデータの入出力が可能かつ、少なくとも2以上の前記プロセッサエレメントが同時にアクセス可能なデータビット幅を有したメモリと、前記複数のレジスタのうちの一つのレジスタに格納されている値を前記プロセッサエレメントごとに順次読み出すととともに、該読み出された値を前記メモリのアドレスとして出力するデータ転送手段と、前記メモリから読み出されたデータを、少なくとも該データに対応するアドレスが読み出された前記プロセッサエレメントの前記レジスタに格納する制御を行う書き込み制御手段と、を備えたことを特徴とするSIMD型マイクロプロセッサである。
In order to solve the problems described above, the invention described in
請求項1に記載の発明によれば、複数のレジスタのうち一つのレジスタに格納されている値を前記プロセッサエレメントごとに読み出し、該読み出された値を、前記プロセッサエレメントとのみデータの入出力が可能かつ、少なくとも2以上の前記プロセッサエレメントが同時にアクセス可能なデータビット幅を有したメモリのアドレスとし、前記メモリから読み出されたデータを、少なくとも該データに対応するアドレスが読み出された前記プロセッサエレメントの前記レジスタに格納するので、各プロセッサエレメントにそれぞれ独立したアドレスデコーダを持ったメモリを備えることなく、少ない回路追加のみで回転処理などの各プロセッサエレメントが異なったアドレスのデータを参照する処理を高速に行うことが可能となる。 According to the first aspect of the present invention, a value stored in one register among a plurality of registers is read for each processor element, and the read value is input / output only with the processor element. The address of the memory having a data bit width that can be accessed simultaneously by at least two or more of the processor elements is used, and at least the address corresponding to the data is read from the data read from the memory. Since each processor element is stored in the register of the processor element, each processor element refers to data at a different address, such as rotation processing, with only a few additional circuits, without having a memory having an independent address decoder for each processor element. Can be performed at high speed.
(第1実施形態)
以下、本発明の第1の実施形態を、図1乃至図6を参照して説明する。図1は、本発明の第1の実施形態にかかるプロセッサシステムの構成図である。図2は、SIMD型マイクロプロセッサの特にプロセッサエレメントグループのより詳細な構成を示すブロック図である。図3は、図1に示されたSIMD型マイクロプロセッサの要部構成図である。図4は、図3に示されたR31レジスタにアドレス設定値を記載した説明図である。図5は、図3に示されたSIMD型マイクロプロセッサのPE−RAMからのデータ読み出し動作を示したタイミングチャートである。図6は、図3に示されたSIMD型マイクロプロセッサのPE−RAMからのデータ読み出し動作を示したフローチャートである。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. 1 to 6. FIG. 1 is a configuration diagram of a processor system according to the first embodiment of the present invention. FIG. 2 is a block diagram showing a more detailed configuration of the SIMD type microprocessor, particularly the processor element group. FIG. 3 is a block diagram of the main part of the SIMD type microprocessor shown in FIG. FIG. 4 is an explanatory diagram in which an address set value is described in the R31 register shown in FIG. FIG. 5 is a timing chart showing a data read operation from the PE-RAM of the SIMD type microprocessor shown in FIG. FIG. 6 is a flowchart showing a data read operation from the PE-RAM of the SIMD type microprocessor shown in FIG.
図1に本発明の第1の実施形態にかかるプロセッサシステム1を示す。プロセッサシステム1は、本発明の第1の実施形態にかかるSIMD型マイクロプロセッサ2と、メモリコントローラ10と、メモリ12と、を備えている。
FIG. 1 shows a
SIMD型マイクロプロセッサ2は、グローバルプロセッサ4と、プロセッサエレメントグループ6と、外部インタフェース8と、DMA装置22と、を備えている。
The
グローバルプロセッサ(GP)4は、所謂SISD(Single Instruction Stream, Single Data Stream)タイプのプロセッサであり、プログラムRAMとデータRAMを内蔵し、プログラムを解読し各種制御信号を生成する。この制御信号は、内蔵する各種ブロックの制御以外にも、後述するレジスタファイル14、演算アレイ16、メモリコントローラ10およびDMA装置22に供給される。また、GP4で実行される命令であるGP命令実行時は、内蔵する汎用レジスタ、ALU(算術論理演算器)等を使用して各種演算処理、プログラム制御処理を行う。
The global processor (GP) 4 is a so-called SISD (Single Instruction Stream, Single Data Stream) type processor, which includes a program RAM and a data RAM, decodes the program, and generates various control signals. This control signal is supplied to a register file 14, an
プロセッサエレメントグループ6は、レジスタファイル14と、演算アレイ16と、PE−RAM20と、を備えている。
The
レジスタファイル14は、プロセッサエレメント(PE)命令で処理されるデータを保持するレジスタ群(ファイル)である。つまり、各PE(図2参照)のレジスタ部分の集合体である。PE命令は、SIMD(Single Instruction Stream, Multiple Data Stream)タイプの命令であり、レジスタファイル14に保持されている複数のデータに対して、同時に同じ処理を行う命令である。このレジスタファイル14からのデータの読み出し/書き込みの制御は、GP4からの制御によって行われる。読み出されたデータは、後述する演算アレイ16に送られ、演算アレイ16での演算処理後にレジスタファイル14に書き込まれる。
The register file 14 is a register group (file) that holds data processed by a processor element (PE) instruction. That is, it is a collection of register portions of each PE (see FIG. 2). The PE instruction is an instruction of the SIMD (Single Instruction Stream, Multiple Data Stream) type, and is an instruction that simultaneously performs the same processing on a plurality of data held in the register file 14. Control of reading / writing of data from the register file 14 is performed by control from the
また、レジスタファイル14は、外部インタフェース8を介してSIMD型マイクロプロセッサ2外部のメモリコントローラ10からのアクセスが可能であり、GP4の制御とは別に外部から特定のレジスタに対する読み出し/書き込みが行われる。さらに、レジスタファイル14の一部のレジスタは、後述するDMA装置22からの制御により、PE−RAM20から読み出されたデータが書き込まれる。
The register file 14 can be accessed from the
演算アレイ16は、PE命令の演算処理が行われるブロックである。つまり、各PE(図2参照)の(ALUを含む)演算部の集合体である。処理の制御はすべてGP4から行われる。
The
外部インタフェース8は、レジスタファイル14とメモリコントローラ10との間のデータや制御信号等の入出力のインタフェースを行う。
The
メモリコントローラ10は、外部ポート18にクロックとアドレス、リード/ライト制御信号を出力し、シングルポートメモリ12にクロックとアドレス、リード/ライト制御信号を出力することで、任意のPEのレジスタとシングルポートメモリ12との間で、データ転送が行われる。処理の制御はすべてGP4から行われる。
The
図2は、SIMD型マイクロプロセッサ2の特にプロセッサエレメントグループ6のより詳細な構成を示すブロック図である。
FIG. 2 is a block diagram showing a more detailed configuration of the
GP4には、GP4のプログラム格納用のプログラムRAM23と演算データ格納用のデータRAM24を備えている。更に、プログラムのアドレスを保持するプログラムカウンタ(PC)25、演算処理のデータ格納のための汎用レジスタであるG0〜G3レジスタ(26、28、30、32)、レジスタ退避、復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)34、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)36、同じく割り込み(IRQ)時とマスク不可割り込み(NMI)時の分岐元アドレスを保持するLIレジスタ38、LNレジスタ40、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)42を備えている。
The
これらのレジスタと、図示していない命令デコーダ、ALU、メモリ制御回路、割り込み制御回路、外部インタフェース制御回路、及びGP演算制御回路を使用してGP命令の実行が行われる。また、PE命令実行時は命令デコーダ、図示していないレジスタファイル制御回路、PE演算制御回路を使用して、レジスタファイル14の制御と演算アレイ16の制御を行う。
The GP instruction is executed using these registers and an instruction decoder, ALU, memory control circuit, interrupt control circuit, external interface control circuit, and GP arithmetic control circuit (not shown). When the PE instruction is executed, the register file 14 and the
次に、レジスタファイル14には、1つのPE単位に8ビットのレジスタ50が32本内蔵されており、256PE分の組がアレイ構成になっている(一つのPEは、符号44で示される一点鎖線の枠内に相当する部位であり、レジスタ46と演算部48とからなる)。レジスタ50は、PE毎にレジスタR0、レジスタR1、レジスタR2、…、R31レジスタと32本が備えられている。夫々のレジスタ50は、演算部48に対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバスで演算部48からアクセスされる。32本のレジスタ50の内、24本は外部インタフェース8を介してプロセッサ外部からアクセス可能であり、外部からクロックとアドレス、リード/ライト制御信号が入力されて指定されたレジスタ50が読み書きされる。即ち、PE44は、所定のアドレスによってリードまたはライトアクセス可能な複数のレジスタを備えている。
Next, in the
レジスタ50の外部からのアクセスでは、1つの外部ポートで各PEの1つのレジスタ50がアクセス可能であり、外部から入力されたアドレスでPEの番号(0〜255)が指定される(PEには、図2の左側から順に0〜255の番号がPE番号として付されている。PE番号はPEアドレスともいう。)。したがって、レジスタアクセスのための外部ポートは、全部で24組搭載されている。
When accessing from the outside of the
演算部48は、7対1のマルチプレクサ58と、シフト拡張回路(シフタ)60と、2対1のマルチプレクサ(MPX)61と、16ビットALU52と、Aレジスタ54と、及びFレジスタ56と、を備えている。
The
7対1のマルチプレクサ58は、レジスタ50と演算部48との接続部分に設けられており、PE並列方向で前方(PE番号の小さい方)に1、2、3つ離れたレジスタ50のデータと、後方(PE番号の大きい方)に1、2、3つ離れたレジスタ50のデータと、中央の(即ち、同一PEの)レジスタ50のデータを演算対象として選択できるように設定されている。また、レジスタ50の8ビットのデータは、シフト拡張回路60により任意ビット分左シフトされてALU52に入力することができる。
The 7-to-1
16ビットALU52は、PE命令による演算では、レジスタ50から読み出されたデータ、GP4から与えられたデータ(2対1のマルチプレクサ61の出力)、若しくはFレジスタ56から読み出されたデータを16ビットALU52の片側の入力とし、もう片側にはAレジスタ54の内容を入力として、結果をAレジスタ54に格納する。したがって、Aレジスタ54と、R0〜R31レジスタもしくはGP4から与えられたデータとの演算が行われることになる。なお、Fレジスタ56はテンポラリレジスタとも呼ばれ、Aレジスタ54に格納されている演算結果の退避などに用いられるレジスタであり、Fレジスタ56の結果を16ビットALU52による演算に使用することも可能である。さらに、図示していない8ビットの条件レジスタ(Tレジスタともいう)により、PE44ごとに演算実行の無効/有効の制御を可能とし、特定のPE44だけを演算対象として選択できる。
The 16-
PE−RAM20は、演算処理途中のデータなどを格納するためのワークメモリであり、図3に示すように、レジスタファイル14(レジスタ46)に保持されているデータを一度に読み出しまたは書き込むことができる。つまり、PE−RAM20は全PE分のデータビット幅(8ビット×256)となっている。また、アドレスや読み出しまたは書き込みの制御はDMA装置22から行われる。DMA装置22から入力されるアドレス等の制御信号はアドレスデコーダ22aに入力され、指定されたアドレスのデータが読み出しまたは書き込まれる。即ち、PE−RAM20は、PE44とのみデータの入出力が可能かつ、少なくとも2以上のPE44が同時にアクセス可能なデータビット幅を有し、1つのアドレスで複数(本実施形態では全部)のPE44分のデータが読み出される。
The PE-
DMA装置22は、カウンタ22aと、FF22bと、を備えている。DMA装置22は、GP4からのDMAStart信号によりPE−RAM20へのアクセスを行う。PE−RAM20と、GP4およびDMA装置22間にはマルチプレクサ(MPX)22c、22d、22eが設けられている。マルチプレクサ22cはPE−RAM20に対するアドレス(A)をGP4またはDMA装置22のいずれかから出力されたものに切り替える。マルチプレクサ22dはPE−RAM20に対するリード/ライト制御信号(R/W)をGP4またはDMA装置22のいずれかから出力されたものに切り替える。マルチプレクサ22eはPE−RAM20に対するチップセレクト(CS)をGP4またはDMA装置22のいずれかから出力されたものに切り替える。
The
各マルチプレクサ(22c、22d、22e)の切り替えは、DMA装置22から出力されるDMA信号(図5参照)により切り替えられる。DMA信号はDMAStart信号が入力されるとHiレベル、データ転送が終了するとLowレベルになる信号であり、Hiレベルの場合は、各マルチプレクサはDMA装置22が出力する信号がPE−RAM20に供給されるようになっている。
Switching of each multiplexer (22c, 22d, 22e) is switched by a DMA signal (see FIG. 5) output from the
カウンタ22aは、詳細な動作は後述するが、PEアドレスが設定され順次インクリメントする。つまり、初期値は“0”が設定され順次インクリメントして“255”までカウントする。FF22bは、共通データバス51から入力されるレジスタファイル14のR31レジスタから出力されたデータが格納されるレジスタ(フリップフロップ)であり、このFF22bに格納された後にPE−RAM20のアドレスとしてマルチプレクサ22cに出力される。
Although detailed operation will be described later, the counter 22a is sequentially incremented by setting the PE address. In other words, the initial value is set to “0” and increments sequentially until counting to “255”. The
また、図3に示したように、各PE44のレジスタファイル46のR31レジスタは、PE−RAM20から読み出されたデータが書き込み可能となっており、そのために、カウンタ22aおよびDMA装置22内で生成されるR/W信号が出力されるPE指定アドレス線53およびR/W制御信号線55が入力されてR31レジスタの読み出しおよび書き込み制御を行うデコーダ57が各PE44のR31レジスタに対応して設けられている。
As shown in FIG. 3, the data read from the PE-
図4は、図3に対して、PE番号0が付与されているPE44(PE(0)とする)のR31レジスタにA0、PE(1)のR31レジスタにA1、…、PE(255)のR31レジスタにA255がそれぞれ格納されていることを示した図である。本実施形態では、予めこのように各R31レジスタに異なる値をセットし、図5のタイミングチャートに示したように、その後GP4からのDMAStart信号が入力されると、カウンタ22aから初期値“0”をPE指定アドレス線53に出力するとともに、R/W制御信号線55をリードを示す値を出力する。すると、PE(0)のR31レジスタの値(A0)が共通データバス51に読み出される。
FIG. 4 is different from FIG. 3 in that the R31 register of PE44 (PE (0)) to which
次のサイクル(図5では2クロック後)で、カウンタ22aがインクリメントされ、PE(1)のR31レジスタの値(A1)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(0)のR31レジスタの値(A0)が格納されてその値(A0)がPE−RAM20のアドレスとして与えられてPE−RAMからはアドレスA0に格納されているデータが出力される。即ち、DMA装置22が、R31レジスタに格納されている値をPE44ごとに順次読み出すととともに、該読み出された値をPE−RAM20のアドレスとして出力するデータ転送手段として機能している。
In the next cycle (after two clocks in FIG. 5), the counter 22a is incremented, the value (A1) of the R31 register of PE (1) is read to the
PE−RAM20から出力されたアドレスA0のデータは、当該サイクルの最後でPE(0)のR31レジスタに書き込まれる。デコーダ57は、内部にパイプラインレジスタを持ち、PE指定アドレス線53から入力されたリードアドレスは、PE−RAM20からデータが読み出されるタイミング分遅延してライトイネーブル信号を生成し、R31レジスタに供給する。このようにすることで、実質的にPE指定アドレス線53のみで、リード時とライト時の制御を行うことができる。なお、ライトイネーブル信号は、各PE44のデコーダ57で遅延させる方法以外に、PE(0)のみ遅延させて、PE(1)以降は、サイクル単位でPE間をシフトさせるようにしてもよい。即ち、デコーダ57が、PE−RAM20から読み出されたデータを、少なくとも該データのアドレスが読み出されたPE44のR31レジスタに格納する制御を行う書き込み制御手段として機能している。
The data at the address A0 output from the PE-
そして、上述したサイクルを繰り返すことで、R31レジスタに格納されている各PE44で独立したアドレス値A0〜A255の値をPE(0)から順次読み出していき、PE−RAM20に格納されていたデータを順次R31レジスタに書き戻すことが従来よりも短いサイクル数で出来る。従来は、このようなことをする場合、GP4による命令でPE44の指定、指定されたPE44のアドレスの設定、PE−RAM20からの読み出し、といったことを行う必要があり、多くのサイクルがかかっていいた。
Then, by repeating the above-described cycle, each PE44 stored in the R31 register sequentially reads the independent address values A0 to A255 from PE (0), and the data stored in the PE-
上述した動作を図6のフローチャートにまとめる。まず、PE命令などを用いて各PE44のR31レジスタにアドレスを設定し(ステップS1)、GP4からDMAStart信号が入力されるとDMA装置22が動作を開始し(ステップS2)、PE指定アドレス線53で指定したPE44のR31レジスタからアドレス値を読み出して(ステップS3)、PE−RAM20へ出力し当該アドレスのデータを読み出して、対応するPE44のR31レジスタに格納している(ステップS4)。
The operations described above are summarized in the flowchart of FIG. First, an address is set in the R31 register of each
そして、カウンタ22aの値を判断し(ステップS5)、カウンタ22aの値が最後のPE番号を示していた場合は終了し、最後でない場合はカウンタ22aをインクリメントして(ステップS6)次のPE44についてステップS3とS4を繰り返す。最後のPE番号か否かは、例えばDMA装置22内に予めPE数を設定し、その設定値と比較することでDMA装置22内の制御回路等(不図示)が判断すればよい。
Then, the value of the counter 22a is judged (step S5), and if the value of the counter 22a indicates the last PE number, the process ends. If not, the counter 22a is incremented (step S6) for the next PE44. Steps S3 and S4 are repeated. Whether or not it is the last PE number may be determined by, for example, setting the number of PEs in the
本実施形態によれば、SIMD型マイクロプロセッサ2に、プロセッサエレメントグループ6のレジスタファイル14とのみデータの入出力が行われるPE−RAM20と、PE−RAM20とレジスタファイル14とのデータ転送の制御を行うDMA装置22を設け、DMA装置22で、各PE44のR31レジスタに格納されている独立したアドレス値をPE番号順に順次読み出していき、PE−RAM20に格納されていたデータを順次R31レジスタに書き戻すようにするために、少ない回路追加のみで回転処理などの各PE44が異なったアドレスのデータを参照する処理を高速に行うことが可能となる。
According to the present embodiment, the
また、GP4や各PE44は、DMA装置22によるデータ転送中は、PE−RAM20が関わらない他の処理をすることができるために、SIMD型マイクロプロセッサ2の処理効率を向上させることができる。
In addition, since the
(第2実施形態)
次に、本発明の第2の実施形態を図7乃至図11を参照して説明する。なお、前述した第1の実施形態と同一部分には、同一符号を付して説明を省略する。図7は、本発明の第2の実施形態にかかるSIMD型マイクロプロセッサの要部構成図である。図8は、図7に示されたデコーダの構成を示した構成図である。図9は、図8に示された書き込みデコーダのデコード条件を示した説明図である。図10は、図7に示されたSIMD型マイクロプロセッサのR30レジスタに格納するアドレス設定値の例と、その例に対してデータ整形を施した後のデータを示した説明図である。図11は、図7に示されたSIMD型マイクロプロセッサのPE−RAMからのデータ読み出し動作を示したタイミングチャートである。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS. Note that the same parts as those in the first embodiment described above are denoted by the same reference numerals and description thereof is omitted. FIG. 7 is a block diagram showing the principal part of a SIMD type microprocessor according to the second embodiment of the present invention. FIG. 8 is a configuration diagram showing the configuration of the decoder shown in FIG. FIG. 9 is an explanatory diagram showing the decoding conditions of the write decoder shown in FIG. FIG. 10 is an explanatory diagram showing an example of an address setting value stored in the R30 register of the SIMD type microprocessor shown in FIG. 7 and data after data shaping is performed on the example. FIG. 11 is a timing chart showing a data read operation from the PE-RAM of the SIMD type microprocessor shown in FIG.
図7に示したように、本実施形態では、DMA装置22の構成と、デコーダ57の構成が第1の実施形態と異なる。また、本実施形態では、レジスタファイル14のR30レジスタにアドレス値を設定し、R31レジスタにPE−RAM20から読み出されたデータを格納する。
As shown in FIG. 7, in this embodiment, the configuration of the
DMA装置22は、カウンタ22aに代えて加算器22gが設けられている。加算器22gはカウンタ22aのインクリメント機能に加えて、加算機能も備えた回路である。また、DMA装置22には、デコーダ22fが設けられている。デコーダ22fは、FF22bに格納されたR31レジスタから読み出された値に応じて加算器22gへの演算制御信号(インクリメントまたは加算、加算値)を出力する。
The
本実施形態のデコーダ57(57´)は、図8に示すように、読み出し用デコーダ(Read−DEC)57aと、書き込み用デコーダ(Write−DEC)57bと、FF57cと、AND回路57dと、を備えている。
As shown in FIG. 8, the decoder 57 (57 ′) according to the present embodiment includes a read decoder (Read-DEC) 57a, a write decoder (Write-DEC) 57b, an
読み出し用デコーダ57aは、第1の実施形態と同様に、PE指定アドレス線53(DMA装置22のPEA端子)から入力されるアドレス値に基づいて自PE番号を示している場合はRead用デコード信号(リードイネーブル信号)をアサートしてR30レジスタに出力する。
As in the first embodiment, the
書き込み用デコーダ57bは、自PE番号がPE指定アドレス線53から入力される値以上である場合に真となり、それ以外は偽となる。図9に各PE44ごとの条件を示す。図9の「==」は左辺と右辺が等しいことを意味し、「<=」は右辺が左辺以上であることを意味している。つまり、自PE番号がPE指定アドレス線53から入力される値以上であるとの条件が成立した場合に出力がアクティブ(Hi)となる。
The
FF57cは、書き込み用デコーダ57bの出力を遅延されるためのパイプラインレジスタである。なお、図8では1段のように記載しているが、PR−RAM20からの読み出しタイミングに合わせて段数は適宜調整すればよい。
The
AND回路57dは、FF57cの出力と、R/W制御信号線55と、FF22bの最上位ビット(MSB)との論理積演算をする回路である。なお、R/W制御信号線55と、FF22bの最上位ビットは、それぞれ論理レベルを反転した信号で演算をする。即ち、FF57cがHiレベルで、R/W制御信号線55がLowレベルで、FF22bの最上位ビットがLowレベルの場合にWrite用デコード信号(ライトイネーブル信号)がアサートされR31レジスタに出力される。
The AND
本実施形態では、R30レジスタに格納したアドレスのうち読み出す順序で同じアドレスが連続する場合は、一度のアクセスで同じアドレスのPE44のR31レジスタにデータを書き込むようにしている。例えば、図10(a)に示すようなアドレス値が各PE44のR30レジスタに格納されていた場合、まず以下の10命令をプロセッサエレメントグループ6に対して実行する。即ち、R30レジスタに格納されているアドレスのうち、同じアドレスが連続する場合は、当該アドレスが最初にPE−RAMのアドレスとして出力された際に同じアドレスを示しているPE44のR31レジスタに書き込むように制御し、以降の同じ値に対応するPE44への書き込みは規制するように制御している。
In this embodiment, when the same address continues in the reading order among the addresses stored in the R30 register, data is written to the R31 register of the
(1)R30レジスタの値がPE番号が1つ前のPE44と同じ値という条件が真ならば、テンポラリレジスタ(Fレジスタ56)の値を“81h”に設定する。
(2)(1)の条件が真で、かつPE番号が1つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(3)(1)の条件が真で、かつPE番号が2つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(4)(1)の条件が真で、かつPE番号が3つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(5)(1)の条件が真で、かつPE番号が4つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(6)(1)の条件が真で、かつPE番号が5つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(7)(1)の条件が真で、かつPE番号が6つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(8)(1)の条件が真で、かつPE番号が7つ後ろのPEとR30レジスタの値が等しければ、テンポラリレジスタの値を“1”加算する。
(9)(1)の条件が偽ならば、元データの値をテンポラリレジスタに設定する。
(10)テンポラリレジスタの値をR30レジスタに転送する。
(1) If the condition that the value of the R30 register is the same value as the
(2) If the condition of (1) is true and the value of the R30 register is equal to the PE with the next PE number, “1” is added to the value of the temporary register.
(3) If the condition of (1) is true and the value of the R30 register is equal to the PE whose number is two behind, the value of the temporary register is incremented by “1”.
(4) If the condition of (1) is true and the value of the R30 register is equal to the PE whose number is three behind, the value of the temporary register is incremented by “1”.
(5) If the condition of (1) is true and the value of the R30 register is the same as that of the PE whose number is four behind, the value of the temporary register is incremented by “1”.
(6) If the condition of (1) is true and the value of the R30 register is equal to the PE whose number is five behind, the value of the temporary register is incremented by “1”.
(7) If the condition of (1) is true and the value of the R30 register is equal to the PE whose sixth PE number is six, the value of the temporary register is incremented by “1”.
(8) If the condition of (1) is true and the value of the R30 register is the same as that of the PE whose number is seven behind, the value of the temporary register is incremented by “1”.
(9) If the condition of (1) is false, the value of the original data is set in the temporary register.
(10) Transfer the value of the temporary register to the R30 register.
上記した10個の命令は順次PE命令として各PE44で実行することにより、図10(a)のデータが、図10(b)に示すようなデータに整形される。図10(b)のデータ整形欄には、MSB,元データ値または命令によりテンポラリレジスタに積算された値の順に記載されている。上述するように動作させることで、本実施形態では、レジスタ8ビットのうち、MSBをアドレスか連続数かを識別するコード、以下の7ビットをアドレスまたは連続数が格納される領域としている。
The above 10 instructions are sequentially executed by each
例えば、PE(0)の場合は、10命令の結果(1)〜(8)の命令の条件が偽で、(9)と(10)の命令の条件が真となりR30レジスタには元データの値であるA0が設定される(MSBが“0”で、残り7ビットが“A0”)。PE(1)の場合は、10命令の結果(2)〜(9)の命令の条件が偽で、(1)と(10)の命令の条件が真となりR30レジスタには“81h”が設定される(MSBが“1”で、残り7ビットが“1”)。つまり、PE(0)はアドレス、PE(1)は連続数が格納される。なお、上記では10命令であるが、参照する範囲は、1命令でPE44が参照可能な範囲である必要があるので、プロセッサエレメントグループ6の構成により命令数は変動する場合がある。
For example, in the case of PE (0), the conditions of the instructions (1) to (8) of the result of 10 instructions are false, the conditions of the instructions of (9) and (10) are true, and the original data is stored in the R30 register. The value A0 is set (MSB is “0” and the remaining 7 bits are “A0”). In the case of PE (1), the conditions of the instructions (2) to (9) of the 10 instructions are false, the conditions of the instructions (1) and (10) are true, and “81h” is set in the R30 register. (MSB is “1” and the remaining 7 bits are “1”). That is, PE (0) stores an address and PE (1) stores a continuous number. Although the number of instructions is 10 in the above, the range to be referred to needs to be a range in which
図11に本実施形態の動作のタイミングチャートを示す。R30レジスタには、上記10命令によりデータ整形後の値が格納されている。その後GP4からのDMAStart信号が入力されると、加算器22gから初期値“0”をPE指定アドレス線53に出力するとともに、R/W制御信号線55をリードを示す値を出力する。すると、PE(0)のR31レジスタの値(0,A0)が共通データバス51に読み出される(サイクルT1)。
FIG. 11 shows a timing chart of the operation of this embodiment. The R30 register stores the value after data shaping by the above 10 instructions. Thereafter, when the DMAStart signal from GP4 is input, the
次のサイクルT2(図11では2クロック後)では、加算器22gがインクリメントされPE(1)のR30レジスタの値(1,1)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(0)のR30レジスタの値(0,A0)が格納されてその値(0,A0)がPE−RAM20のアドレスとして与えられてPE−RAM20からはアドレスA0に格納されているデータが出力される。なお、本サイクルで、R/W制御信号線55はライトを示す値に切り替える。
In the next cycle T2 (after two clocks in FIG. 11), the
PE−RAM20から出力されたアドレスA0のデータは、当該サイクルの最後でPE(0)〜(255)のR31レジスタに書き込まれる。書き込みデコーダ57bは、上述したように、自PE番号がPE指定アドレス線53から入力される値以上である場合に真となるため、PE指定アドレス線53が“0”の場合は、PE(0)〜(255)の書き込みデコーダ57bで前記条件が成立する。したがって、PE(0)〜(255)のR31レジスタに対してライトイネーブル信号がアサートされ書込みが行われる。
The data at the address A0 output from the PE-
次のサイクルT3では、加算器22gがインクリメントされ、PE(2)のR30レジスタの値(0,A2)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(1)のR30レジスタの値(1,1)が格納される。この値(1,1)は、PE−RAM20にはアドレスとして与えられるものの、図8に示したデコーダ57´の構成からFF22bのMSBが“1”の場合はAND回路57dによってライトイネーブル信号がアサートされないため、PE−RAM20読み出されたデータはいずれのPE44のR31レジスタにも書き込まれない。
In the next cycle T3, the
次のサイクルT4では、加算器22gがインクリメントされ、PE(3)のR30レジスタの値(0,A3)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(2)のR30レジスタの値(0,A2)が格納されてその値(A2)がPE−RAM20のアドレスとして与えられてPE−RAM20からはアドレスA2のデータが出力される。このときも、アドレスA0のデータを書き込んだ際と同様に、当該サイクルの最後でPE(2)〜(255)のR31レジスタにPE−RAM20から読み出されたデータが書き込まれる。
In the next cycle T4, the
次のサイクルT5では、加算器22gがインクリメントされPE(4)のR30レジスタの値(1,2)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(3)のR30レジスタの値(0,A3)が格納されてその値(0,A3)がPE−RAM20のアドレスとして与えられてPE−RAM20からはアドレスA3のデータが出力される。このときも、アドレスA0やA2のデータを書き込んだ際と同様に、当該サイクルの最後でPE(3)〜(255)のR31レジスタにPE−RAM20から読み出されたデータが書き込まれる。
In the next cycle T5, the
次のサイクルT6では、加算器22gがインクリメントされ、PE(5)のR30レジスタの値(1,1)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(4)のR30レジスタの値(1,2)が格納される。この値(1,2)は、サイクルT3と同様に、PE−RAM20にはアドレスとして与えられるものの、図8に示したデコーダ57´からライトイネーブル信号がアサートされないため、PE−RAM20読み出されたデータはいずれのPE44のR31レジスタにも書き込まれない。次のサイクルT7も同様である。
In the next cycle T6, the
次のサイクルT8では、加算器22gがインクリメントされPE(7)のR30レジスタの値(1,3)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(7)のR30レジスタの値(0,A6)が格納されてその値(0,A6)がPE−RAM20のアドレスとして与えられてPE−RAM20からはアドレスA6のデータが出力される。このときも、アドレスA0やA2やA3のデータを書き込んだ際と同様に、当該サイクルの最後でPE(6)〜(255)のR31レジスタにPE−RAM20から読み出されたデータが書き込まれる。
In the next cycle T8, the
次のサイクルT9では、加算器22gがインクリメントされ、PE(8)のR30レジスタの値(1,2)が共通データバス51に読み出されるとともに、FF22bに前のサイクルで読み出したPE(7)のR30レジスタの値(1,3)が格納される。この値(1,3)は、サイクルT3やT6、T7と同様に、PE−RAM20にはアドレスとして与えられるものの、図8に示したデコーダ57´からライトイネーブル信号がアサートされないため、PE−RAM20読み出されたデータはいずれのPE44のR31レジスタにも書き込まれない。
In the next cycle T9, the
また、サイクルT9では、FF22bのMSBが“1”でかつ該FF22b下位7ビットの値が3以上であるので、下位7ビットの値から“1”を減じたものを加算器22gにおいて加算している。つまり、下位7ビットの値である“3”から“1”を減じた“2”を加算器22gに加算するようにデコーダ22fが制御する。加算器22gは、前記したFF22bのMSBが“1”でかつ該FF22b下位7ビットの値が3以上との条件が成立する場合以外はインクリメント動作を行う。
In cycle T9, since the MSB of
次のサイクルT10では、加算器22gには前のサイクル演算された値が格納されるためPE(10)の値(0,A10)が共通データバス51に読み出される。つまり、サイクルT9からサイクルT10に移行する際にPE番号が1つ飛ばされている(スキップされている)。この飛ばされたPE(9)は、図10(a)に示されているように、アドレスが“A6”であり、アドレスA6から読み出した値はサイクルT8ですでに当該PE(9)のR31レジスタにも書き込まれているので飛ばしても問題は無い。即ち、R30レジスタに格納されているアドレスのうち、同じアドレスが連続する数に応じて、R30レジスタに格納されているアドレスを読み出すPE番号をスキップさせている。
In the next cycle T10, since the value calculated in the previous cycle is stored in the
上述したように動作させることで、PE(0)、(1)のR31レジスタにはアドレスA0のデータが書き込まれ、PE(2)のR31レジスタにはアドレスA2のデータが書き込まれ、PE(3)〜(5)のR31レジスタにはアドレスA3のデータが書き込まれ、PE(6)〜(9)のR31レジスタにはアドレスA6のデータが書き込まれて、図10(a)に示したとおりのアドレスのデータが各PE44に書き込まれる。
By operating as described above, the data at address A0 is written to the R31 register of PE (0), (1), the data at address A2 is written to the R31 register of PE (2), and PE (3 ) To (5), the data of the address A3 is written into the R31 register, and the data of the address A6 is written into the R31 registers of the PEs (6) to (9), as shown in FIG. Address data is written to each
本実施形態によれば、まず、予めR30レジスタに格納されているアドレス値に対して、データ整形を行って、アドレス値そのものと、同じアドレスが連続することを示すデータと、のいずれかが格納されるようにし、アドレス値の場合は、自PE番号がDMA装置22から入力されているPE番号以上との条件が成立するPE44のみPE−RAM20から読み出されたデータがR31レジスタに書き込まれるようにし、同じアドレスが連続することを示すデータの場合は、R31レジスタへの書き込みを行わないようにしているので、同じアドレスが連続する場合に一度でデータの書込みを終了させることができる。
According to the present embodiment, first, the address value stored in the R30 register in advance is subjected to data shaping, and either the address value itself or data indicating that the same address continues is stored. In the case of an address value, the data read from the PE-
また、同じアドレスが連続することを示すデータには、連続数を含み、その連続数が3以上の場合は、その連続数から1を減じた値をPE番号を指定する加算器に加算しているので、同じアドレスが連続することが長く続く場合は、PE番号を飛ばす(スキップする)ことができ、データ転送にかかるサイクル数を削減することができる。特に、微小角回転のような画像処理では同一のアドレスにアクセスするPE数が比較的多いため本実施形態の構成は当該画像処理のサイクル数の削減に有効である。 In addition, the data indicating that the same address is continuous includes a continuous number. When the continuous number is 3 or more, a value obtained by subtracting 1 from the continuous number is added to the adder for specifying the PE number. Therefore, when the same address continues for a long time, the PE number can be skipped (skip), and the number of cycles for data transfer can be reduced. In particular, in image processing such as small-angle rotation, since the number of PEs accessing the same address is relatively large, the configuration of this embodiment is effective in reducing the number of cycles of the image processing.
(第3実施形態)
次に、本発明の第3の実施形態を図12を参照して説明する。なお、前述した第1、第2の実施形態と同一部分には、同一符号を付して説明を省略する。図12は、本発明の第3の実施形態にかかるSIMD型マイクロプロセッサの要部構成図である。
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to FIG. The same parts as those in the first and second embodiments described above are denoted by the same reference numerals and description thereof is omitted. FIG. 12 is a main part configuration diagram of a SIMD type microprocessor according to the third embodiment of the present invention.
本実施形態では、第2の実施形態に対して、DMA装置22に、スケール設定レジスタ22hと、オフセット設定レジスタ22iと、乗算器22jと、加算器22kと、FF22mと、が追加されている点が異なる。
In the present embodiment, a
スケール設定レジスタ22hは、R30レジスタから読み出されたアドレス値に対するスケール値(乗数)を設定するレジスタである。オフセット設定レジスタ22iは、R30レジスタから読み出されたアドレス値に対するオフセット値(加算数)を設定するレジスタである。なお、スケール設定レジスタ22hと、オフセット設定レジスタ22iは、GP4で実行される命令や、図示しないデータバス等によって値が設定可能となっている。
The
乗算器22jは、FF22bに格納された値とスケール設定レジスタ22hに設定されたスケール値との乗算を行う。加算器22kは、乗算器22jの出力に対して、オフセット設定レジスタ22iに設定されたオフセット値を加算する。
The multiplier 22j multiplies the value stored in the
FF22mは、加算器22jの出力が格納されるレジスタ(フリップフロップ)であり、FF22mの出力がPE−RAM20のアドレスとして、DMA装置22から出力される。なお、乗算器22j、加算器22kを経て出力されるデータのビット幅はPE−RAM20に与えるアドレスのビット幅と同じになっているのはいうまでもない。
The
本実施形態によれば、スケール設定レジスタ22hにスケールを設定でき、オフセット設定レジスタ22iにオフセット値を設定できるようにしたので、R30レジスタに設定するアドレスのビット幅が、例えば、7ビットであったとしても、それ以上範囲の領域のアドレスを指定することが可能となる。また、例えば、R30レジスタから読み出した値を2倍した値をアドレスとするなど、PE−RAM20からの多様なデータの読み出し方(データの格納方法)が可能となる。即ち、少ないビット幅のレジスタでもPE−RAM20のアドレスとして実効アドレスのビット幅を増やすことが可能となる。
According to the present embodiment, since the scale can be set in the
なお、上述した第3の実施形態において、スケールを設定するレジスタ22hとオフセットを設定するレジスタ22iは、いずれか一方のみ設けてもよい。勿論その場合は、乗算器22jと加算器22kも対応する回路のみが設けられる。
In the third embodiment described above, only one of the
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。 The present invention is not limited to the above embodiment. That is, various modifications can be made without departing from the scope of the present invention.
1 プロセッサシステム
2 SIMD型マイクロプロセッサ
8 外部インタフェース
12 メモリ(外部メモリ)
20 PE−RAM(メモリ)
22 DMA装置(データ転送手段)
22h スケール設定レジスタ(乗数を設定するレジスタ)
22i オフセット設定レジスタ(オフセット値を設定するレジスタ)
R30、R31 レジスタ(所定のアドレスによってリードまたはライトアクセス可能な複数のレジスタ)
1
20 PE-RAM (memory)
22 DMA device (data transfer means)
22h Scale setting register (register to set multiplier)
22i Offset setting register (register for setting offset value)
R30, R31 registers (multiple registers that can be read or written by specified addresses)
Claims (6)
前記プロセッサエレメントとのみデータの入出力が可能かつ、少なくとも2以上の前記プロセッサエレメントが同時にアクセス可能なデータビット幅を有したメモリと、
前記複数のレジスタのうちの一つのレジスタに格納されている値を前記プロセッサエレメントごとに順次読み出すととともに、該読み出された値を前記メモリのアドレスとして出力するデータ転送手段と、
前記メモリから読み出されたデータを、少なくとも該データに対応するアドレスが読み出された前記プロセッサエレメントの前記レジスタに格納する制御を行う書き込み制御手段と、
を備えたことを特徴とするSIMD型マイクロプロセッサ。 In a SIMD type microprocessor having a plurality of processor elements each having a plurality of registers that can be read or written by a predetermined address,
A memory capable of inputting / outputting data only to / from the processor element and having a data bit width accessible by at least two or more processor elements simultaneously;
A data transfer means for sequentially reading a value stored in one of the plurality of registers for each of the processor elements, and outputting the read value as an address of the memory;
Write control means for performing control for storing data read from the memory in at least the register of the processor element from which an address corresponding to the data is read;
A SIMD type microprocessor characterized by comprising:
前記SIMD型マイクロプロセッサが、請求項1乃至4のうちいずれか一項に記載のSIMD型マイクロプロセッサであることを特徴とするプロセッサシステム。 In a processor system having a SIMD type microprocessor having an external interface for performing data transfer control with the outside, and an external memory capable of writing or reading data from the external interface data,
The processor system, wherein the SIMD type microprocessor is the SIMD type microprocessor according to any one of claims 1 to 4.
前記複数のレジスタのうち一つのレジスタに格納されている値を前記プロセッサエレメントごとに読み出し、
該読み出された値を、前記プロセッサエレメントとのみデータの入出力が可能かつ、少なくとも2以上の前記プロセッサエレメントが同時にアクセス可能なデータビット幅を有したメモリのアドレスとし、
前記メモリから読み出されたデータを、少なくとも該データに対応するアドレスが読み出された前記プロセッサエレメントの前記レジスタに格納する
ことを特徴とするSIMD型マイクロプロセッサのデータ処理方法。 In a data processing method of a SIMD type microprocessor having a plurality of processor elements each having a plurality of registers that can be read or written by a predetermined address,
A value stored in one of the plurality of registers is read for each processor element,
The read value is an address of a memory having a data bit width that allows data input / output only with the processor element and is accessible to at least two or more processor elements simultaneously,
A data processing method for a SIMD type microprocessor, wherein the data read from the memory is stored in at least the register of the processor element from which an address corresponding to the data is read.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012023805A JP2013161325A (en) | 2012-02-07 | 2012-02-07 | Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012023805A JP2013161325A (en) | 2012-02-07 | 2012-02-07 | Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013161325A true JP2013161325A (en) | 2013-08-19 |
Family
ID=49173502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012023805A Pending JP2013161325A (en) | 2012-02-07 | 2012-02-07 | Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013161325A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013191081A (en) * | 2012-03-14 | 2013-09-26 | Ricoh Co Ltd | Microprocessor and processor system |
-
2012
- 2012-02-07 JP JP2012023805A patent/JP2013161325A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013191081A (en) * | 2012-03-14 | 2013-09-26 | Ricoh Co Ltd | Microprocessor and processor system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3955741B2 (en) | SIMD type microprocessor having sort function | |
JP2009223758A (en) | Image processing apparatus | |
JPH08123769A (en) | Parallel processor | |
JP2013161325A (en) | Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor | |
US7702860B2 (en) | Memory access apparatus | |
US7308553B2 (en) | Processor device capable of cross-boundary alignment of plural register data and the method thereof | |
JP2006072961A (en) | Memory circuit for arithmetic processing unit | |
KR100188374B1 (en) | Central processing unit and an arithmetic operation processing unit | |
JP2007073010A (en) | Simd processor and image processing method using the simd method processor and image processor | |
JP4482356B2 (en) | Image processing method and image processing apparatus using SIMD processor | |
JP4408113B2 (en) | Signal processing method | |
JP2906792B2 (en) | Digital processor and control method thereof | |
JP4516495B2 (en) | Data processing method in SIMD type microprocessor | |
JP2812610B2 (en) | Pipeline control method | |
JP5888028B2 (en) | SIMD type microprocessor and processor system | |
JP2011134042A (en) | Simd type microprocessor and data alignment method of the same | |
JP4413905B2 (en) | SIMD type processor | |
JP2005353094A (en) | Product-sum computing unit | |
JP2004334306A (en) | Arithmetic processing circuit and arithmetic processing method | |
JP5263497B2 (en) | Signal processor and semiconductor device | |
JP3088956B2 (en) | Arithmetic unit | |
JPH0877003A (en) | Dsp program parallel process controller | |
JPH0810443B2 (en) | Memory control circuit | |
JP2005149517A (en) | Product-sum computing element | |
JPH01284926A (en) | Instruction reading system for arithmetic unit |