JP2008090455A - Multiprocessor signal processor - Google Patents

Multiprocessor signal processor Download PDF

Info

Publication number
JP2008090455A
JP2008090455A JP2006268599A JP2006268599A JP2008090455A JP 2008090455 A JP2008090455 A JP 2008090455A JP 2006268599 A JP2006268599 A JP 2006268599A JP 2006268599 A JP2006268599 A JP 2006268599A JP 2008090455 A JP2008090455 A JP 2008090455A
Authority
JP
Japan
Prior art keywords
signal processing
memory
processor
bank
local
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
Application number
JP2006268599A
Other languages
Japanese (ja)
Inventor
Toshiki Miyano
俊樹 宮野
Naoyuki Akiyama
直之 穐山
Masayoshi Asama
正義 浅間
Toshihiko Arai
俊彦 新井
Kei Go
瓊 呉
Hisashi Ogawa
尚志 小川
Harumi Kamata
晴海 鎌田
Toru Kino
亨 木野
Takeshi Saito
健 斉藤
Takashi Hirano
隆 平野
Naohito Fuku
直仁 福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Digital System Design Corp
Original Assignee
Olympus Digital System Design Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Olympus Digital System Design Corp filed Critical Olympus Digital System Design Corp
Priority to JP2006268599A priority Critical patent/JP2008090455A/en
Publication of JP2008090455A publication Critical patent/JP2008090455A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve a high speed arithmetic operation by reducing access quantity to an external memory, and efficiently performing the data transfer of processing data even in the case of signal processing when it is necessary to perform the high speed arithmetic operation of data whose capacity is large. <P>SOLUTION: This multiprocessor signal processor is provided with a first processor 2, a second processor 4, a third processor 6, a first local shared memory 8 as a memory connected to an external bus 12, and shared by the first processor 2 and the second processor 4; and a second local shared memory 10 as a memory connected to the external bus 12, and shared by the second processor 4 and the third processor 6, wherein the first local shared memory 8 is provided with a first bank 8A, a second bank 8B, and a third bank 8C, and the second local shared memory 10 is provided with a first bank 10A and a second bank 10B and a third bank 10C. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数のプロセッサを具備するマルチプロセッサ信号処理装置に関する。   The present invention relates to a multiprocessor signal processing apparatus including a plurality of processors.

従来より、画像処理のように大容量のデータを高速に扱う信号処理においては、マルチプロセッサによるパイプライン処理によって演算を行うことで演算スピードを上げる技術が知られている。   2. Description of the Related Art Conventionally, in signal processing that handles a large amount of data at high speed, such as image processing, a technique is known in which the calculation speed is increased by performing calculation by pipeline processing using a multiprocessor.

このような技術を用いる場合、1つのプロセッサからの出力を、もう1つのプロセッサに入力する為には、全てのプロセッサがアクセスできる外部メモリを経由して入出力を行う方法が考えられる。しかしながら、この方法によれば、画像処理のように扱うデータ量が大きい場合、外部メモリのアクセス量が大きくなり過ぎ、外部メモリが稼動周波数の限界に達してしまいやすい。   When such a technique is used, in order to input the output from one processor to the other processor, a method of performing input / output via an external memory accessible by all the processors can be considered. However, according to this method, when the amount of data to be handled is large as in image processing, the access amount of the external memory becomes too large, and the external memory tends to reach the limit of the operating frequency.

このような事情から、例えば特許文献1に開示されているマルチプロセッサ信号処理装置においては、互いに隣接するプロセッサ間でのみ共有するメモリ(共有メモリ)を具備することで、特定のメモリヘのアクセス量が増大することを防いでいる。
特開2002―207710号公報
For this reason, for example, the multiprocessor signal processing device disclosed in Patent Document 1 includes a memory (shared memory) that is shared only between adjacent processors, thereby reducing the amount of access to a specific memory. It prevents the increase.
JP 2002-207710 A

しかしながら、前記特許文献1に開示されている技術では、プロセッサ間通信を利用している為、プロセッサ間通信中には各プロセッサは演算不可能な状態となる。つまり、前記特許文献1に開示されている技術により提供されるマルチプロセッサ信号処理装置は、演算効率が悪い。   However, since the technology disclosed in Patent Document 1 uses inter-processor communication, each processor is in an inoperable state during inter-processor communication. In other words, the multiprocessor signal processing device provided by the technique disclosed in Patent Document 1 has poor calculation efficiency.

さらに、前記共有メモリは、高速アクセス機能を要することを考慮すると、前記共有メモリには比較的高価なメモリを使用しなければならない。したがって、現実的には、前記共有メモリには、あまり大きな容量を期待できない。   Furthermore, considering that the shared memory requires a high-speed access function, a relatively expensive memory must be used as the shared memory. Therefore, practically, a large capacity cannot be expected for the shared memory.

また、前記共有メモリとは別に、アクセスはあまり速くないが比較的低価格で大きな容量のメモリを具備させる場合、該メモリと前記共有メモリとの間でデータを効率的に転送する為の手段が新たに必要になる。   In addition to the shared memory, when a large-capacity memory having a relatively low price but a relatively low price is provided, means for efficiently transferring data between the memory and the shared memory is provided. It becomes necessary newly.

本発明は、前記の事情に鑑みてなされたもので、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することを目的とする。   The present invention has been made in view of the above circumstances, and reduces the amount of access to the external memory and transfers the processed data even during signal processing where a large amount of data must be calculated at high speed. It is an object of the present invention to provide a multiprocessor signal processing apparatus that can perform high-speed computation by performing efficiently.

上記の目的を達成するために、本発明の第1の態様によるマルチプロセッサ信号処理装置は、並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、外部バスに接続され、且つ前記複数個のプロセッサのうち隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、前記外部バスに接続され、前記複数個のプロセッサを制御する為のコントロール用プロセッサと、前記外部バスに接続されたメモリである外部メモリと、前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うDMAコントローラと、を具備し、前記ローカル共有メモリは、複数個のバンクを有することを特徴とする。   To achieve the above object, a multiprocessor signal processing device according to a first aspect of the present invention is a multiprocessor signal processing device comprising a plurality of processors arranged in parallel, and is connected to an external bus, And a local shared memory which is a memory shared by adjacent processors among the plurality of processors, a control processor connected to the external bus and controlling the plurality of processors, and connected to the external bus And an external memory connected to the external bus and a DMA controller for transferring data between the external memory and the local shared memory, the local shared memory comprising a plurality of banks It is characterized by having.

上記の目的を達成するために、本発明の第2の態様によるマルチプロセッサ信号処理装置は、前記第1の態様によるマルチプロセッサ信号処理装置であって、前記並設された複数個のプロセッサのうち両端に位置するプロセッサには、他の前記プロセッサと共有しないメモリであるローカル端メモリが接続して設けられており、前記ローカル端メモリは、複数のバンクを有することを特徴とする
上記の目的を達成するために、本発明の第3の態様によるマルチプロセッサ信号処理装置は、前記第1の態様または前記第2の態様によるマルチプロセッサ信号処理装置であって、前記の各プロセッサと前記外部バスとに接続されているメモリであるローカル非共有メモリを更に具備することを特徴とする。
In order to achieve the above object, a multiprocessor signal processing apparatus according to a second aspect of the present invention is the multiprocessor signal processing apparatus according to the first aspect, wherein the multiprocessor signal processing apparatus includes a plurality of parallel processors. The processor located at both ends is connected to a local end memory which is a memory not shared with the other processors, and the local end memory has a plurality of banks. To achieve, a multiprocessor signal processing device according to a third aspect of the present invention is the multiprocessor signal processing device according to the first aspect or the second aspect, wherein each of the processors, the external bus, And a local non-shared memory which is a memory connected to the.

上記の目的を達成するために、本発明の第4の態様によるマルチプロセッサ信号処理装置は、前記第1の態様乃至前記第3の態様のうち何れかの態様によるマルチプロセッサ信号処理装置であって、前記の各ローカル共有メモリ及び前記の各ローカル端メモリには、それぞれに接続されている前記の各プロセッサ毎に、バンクを選択する為のバンク選択レジスタが接続して設けられており、前記バンク選択レジスタは、仮想アドレスによって前記の各プロセッサから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする。   In order to achieve the above object, a multiprocessor signal processing apparatus according to a fourth aspect of the present invention is the multiprocessor signal processing apparatus according to any one of the first to third aspects. Each of the local shared memory and each of the local end memories is provided with a bank selection register for selecting a bank for each of the processors connected to the local shared memory. The selection register selects a bank for accessing each local shared memory or the local end memory from each processor by a virtual address.

上記の目的を達成するために、本発明の第5の態様によるマルチプロセッサ信号処理装置は、前記第4の態様によるマルチプロセッサ信号処理装置であって、前記バンク選択レジスタは、仮想アドレスによって前記外部バスから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする。   In order to achieve the above object, a multiprocessor signal processing device according to a fifth aspect of the present invention is the multiprocessor signal processing device according to the fourth aspect, wherein the bank selection register uses the virtual address to A bank for selecting each local shared memory or the local end memory from the bus is selected.

上記の目的を達成するために、本発明の第6の態様によるマルチプロセッサ信号処理装置は、並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、外部バスに接続され、且つ隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、前記外部バスに接続されたメモリである外部メモリと、前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うDMAコントローラと、を具備し、前記ローカル共有メモリはそれぞれ複数個のバンクを有し、且つ前記複数個のプロセッサのうち少なくとも何れか1つのプロセッサは前記外部バスに接続され、前記外部バスに接続されたプロセッサは、当該プロセッサを除く前記複数個のプロセッサを制御することを特徴とする。   To achieve the above object, a multiprocessor signal processing apparatus according to a sixth aspect of the present invention is a multiprocessor signal processing apparatus comprising a plurality of processors arranged in parallel, and is connected to an external bus, And a local shared memory that is a memory shared by adjacent processors, an external memory that is a memory connected to the external bus, and data between the external memory and the local shared memory that is connected to the external bus. A DMA controller for performing transfer, wherein each of the local shared memories has a plurality of banks, and at least one of the plurality of processors is connected to the external bus, and the external bus The processor connected to the processor controls the plurality of processors excluding the processor. .

上記の目的を達成するために、本発明の第7の態様によるマルチプロセッサ信号処理装置は、前記第4の態様乃至前記第6の態様によるマルチプロセッサ信号処理装置であって、前記複数個のプロセッサのうち少なくとも1つは、ハードアクセラレータであることを特徴とする。   In order to achieve the above object, a multiprocessor signal processing apparatus according to a seventh aspect of the present invention is the multiprocessor signal processing apparatus according to the fourth to sixth aspects, wherein the plurality of processors At least one of them is a hard accelerator.

本発明によれば、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することができる。   According to the present invention, even at the time of signal processing in which a large amount of data must be calculated at high speed, the amount of access to the external memory can be reduced and the processing data can be efficiently transferred to perform high speed calculation. It is possible to provide a multiprocessor signal processing device that enables this.

以下、図面を参照して本発明の実施形態を説明する。
[第1実施形態]
以下、本発明の第1実施形態に係るマルチプロセッサ信号処理装置を説明する。ここでは、説明の便宜上、3つの信号処理用プロセッサを具備するマルチプロセッサ信号処理装置を例に説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First embodiment]
The multiprocessor signal processing apparatus according to the first embodiment of the present invention will be described below. Here, for convenience of explanation, a multiprocessor signal processing apparatus including three signal processing processors will be described as an example.

図1は、本第1実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。本第1実施形態に係るマルチプロセッサ信号処理装置は、図1に示すように、
第1信号処理用プロセッサ2と、第2信号処理用プロセッサ4と、第3信号処理用プロセッサ6と、前記第1信号処理用プロセッサ2及び前記第2信号処理用プロセッサ4によって共有される第1ローカル共有メモリ8と、前記第2信号処理用プロセッサ4及び前記第3信号処理用プロセッサ6によって共有される第2ローカル共有メモリ10と、コントロール用プロセッサ14と、DMA(Direct Memory Access)コントローラ16と、外部メモリ18とを具備する。
FIG. 1 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the first embodiment. As shown in FIG. 1, the multiprocessor signal processing apparatus according to the first embodiment is
The first signal processing processor 2, the second signal processing processor 4, the third signal processing processor 6, the first signal processing processor 2, and the first signal processing processor 4 share the first signal processing processor 4. A local shared memory 8, a second local shared memory 10 shared by the second signal processing processor 4 and the third signal processing processor 6, a control processor 14, a DMA (Direct Memory Access) controller 16, and And an external memory 18.

ここで、前記第1共有メモリ8は、第1バンク8Aと第2バンク8Bと第3バンク8Cとを有する。同様に、前記第2共有メモリ10は、第1バンク10Aと第2バンク10Bと第3バンク10Cとを有する。   Here, the first shared memory 8 includes a first bank 8A, a second bank 8B, and a third bank 8C. Similarly, the second shared memory 10 includes a first bank 10A, a second bank 10B, and a third bank 10C.

なお、前記第1信号処理用プロセッサ2と前記第1ローカル共有メモリ8とは内部バス11Aによって接続され、前記第1ローカル共有メモリ8と前記第2信号処理用プロセッサ4とは内部バス11Bによって接続され、前記第2信号処理用プロセッサ4と前記第2ローカル共有メモリ10とは内部バス11Cによって接続され、前記第2ローカル共有メモリ10と前記第3信号処理用プロセッサ6とは内部バス11Dによって接続されている。   The first signal processing processor 2 and the first local shared memory 8 are connected by an internal bus 11A, and the first local shared memory 8 and the second signal processing processor 4 are connected by an internal bus 11B. The second signal processing processor 4 and the second local shared memory 10 are connected by an internal bus 11C, and the second local shared memory 10 and the third signal processing processor 6 are connected by an internal bus 11D. Has been.

また、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10は、外部バス12によって、コントロール用プロセッサ14、DMAコントローラ16、及び外部メモリ18に接続されている。   The first local shared memory 8 and the second local shared memory 10 are connected to a control processor 14, a DMA controller 16, and an external memory 18 by an external bus 12.

上述した構成のマルチプロセッサ信号処理装置において、例えば次のような信号処理を行う場合を考える。すなわち、前記外部メモリ18に格納されている容量の大きいデータである画像データをいくつかの部分に分割したブロックデータを、順次前記第1信号処理用プロセッサ2に入力して第1の処理を施し、前記第1信号処理用プロセッサ2からの出力を前記第2信号処理用プロセッサ4に入力して第2の処理を施し、さらに前記第2信号処理用プロセッサ4からの出力を前記第3信号処理用プロセッサ6に入力して第3の処理を施し、前記第3信号処理用プロセッサ6からの出力を、最後に前記外部メモリ18に保存するという処理を考える。   In the multiprocessor signal processing apparatus configured as described above, for example, consider the case where the following signal processing is performed. That is, block data obtained by dividing image data, which is large-capacity data stored in the external memory 18, into several parts is sequentially input to the first signal processor 2 to perform the first processing. Then, the output from the first signal processing processor 2 is input to the second signal processing processor 4 to perform the second processing, and the output from the second signal processing processor 4 is further converted into the third signal processing. Consider a process in which a third process is input to the processor 6 and the output from the third signal processor 6 is finally stored in the external memory 18.

以下、このような処理におけるデータの流れを、図2乃至図4を参照して説明する。   Hereinafter, the data flow in such processing will be described with reference to FIGS.

前記外部メモリ18に格納されているブロックデータが、前記DMAコントローラ16によって、前記第1ローカル共有メモリ8の第3バンク8CへDMA転送される(処理a)。   The block data stored in the external memory 18 is DMA-transferred by the DMA controller 16 to the third bank 8C of the first local shared memory 8 (process a).

前記処理aと同時に、前回のDMA転送によって既に転送されて前記第2バンク8Bに格納されているブロックデータは、前記第1信号処理用プロセッサ2によって前記第1の処理を施され、該処理結果が前記第2バンク8Bに出力される(処理b)。   At the same time as the processing a, the block data already transferred by the previous DMA transfer and stored in the second bank 8B is subjected to the first processing by the first signal processing processor 2, and the processing result Is output to the second bank 8B (process b).

なお、前回の前記第1信号処理用プロセッサ2による前記第1の処理の処理結果は、前記第1バンク8Aに格納されている。   Note that the processing result of the first processing performed by the first signal processing processor 2 is stored in the first bank 8A.

前記処理bと同時に、前回の前記第1信号処理用プロセッサ2による前記第1の処理の処理結果が、前記第1バンク8Aから前記第2信号処理用プロセッサ4に出力され(処理c)、且つ前記第2信号処理用プロセッサ4によって前記第2の処理が施されて、該処理結果が前記第2ローカル共有メモリ10における前記第3バンク10Cに出力される(処理d)。   Simultaneously with the processing b, the processing result of the first processing by the first signal processing processor 2 is output from the first bank 8A to the second signal processing processor 4 (processing c), and The second processing is performed by the second signal processing processor 4, and the processing result is output to the third bank 10C in the second local shared memory 10 (processing d).

なお、前回の前記第2信号処理用プロセッサ4による前記第2の処理の処理結果は、既に前記第2ローカル共有メモリ10の前記第2バンク10Bに格納されている。   Note that the processing result of the second processing performed by the second signal processing processor 4 is stored in the second bank 10B of the second local shared memory 10 already.

前記処理dと同時に、前回の前記第2信号処理用プロセッサ4による前記第2の処理結果が、前記第2バンク10Bから前記第3信号処理用プロセッサ6に出力され、且つ前記第3信号処理用プロセッサ6によって前記第3の処理が施されて、該処理結果が前記第2ローカル共有メモリ10における前記第2バンク10Bに出力される(処理e)。   Simultaneously with the processing d, the second processing result of the second signal processing processor 4 from the previous time is output from the second bank 10B to the third signal processing processor 6, and for the third signal processing. The third process is performed by the processor 6, and the process result is output to the second bank 10B in the second local shared memory 10 (process e).

なお、前回の第3信号処理用プロセッサ6による前記第3の処理の処理結果は、既に前記第2ローカル共有メモリの前記第1バンク10Aに格納されている。   Note that the processing result of the third processing by the third signal processing processor 6 in the previous time is already stored in the first bank 10A of the second local shared memory.

前記処理eと同時に、前回の第3信号処理用プロセッサ6による前記第3の処理の処理結果は、前記DMAコントローラ16によって、前記第1バンク10Aから前記外部メモリ18へDMA転送される(処理f)。   Simultaneously with the processing e, the processing result of the third processing performed by the third signal processing processor 6 is DMA-transferred from the first bank 10A to the external memory 18 by the DMA controller 16 (processing f). ).

そして、前記処理a乃至前記処理fにおける処理全てが終了した旨が、例えば割り込み信号等の手段によって、前記コントロール用プロセッサ14に伝達される。   Then, the fact that all the processes in the processes a to f have been completed is transmitted to the control processor 14 by means such as an interrupt signal.

なお、前記処理a乃至前記処理fを実行する際の図2に示すバスアクセスの状態を、フェイズ1と称する。   The state of bus access shown in FIG. 2 when executing the processing a through the processing f is referred to as phase 1.

ここで、次回のブロックデータの処理の際には、図3に示すように、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、前記第3信号処理用プロセッサ6及び前記DMAコントローラ16がアクセスするバンクを1個づつずらして、再び同様の処理を実行する。なお、図3に示すバスアクセスの状態をフェイズ2と称する。   Here, in the next block data processing, as shown in FIG. 3, the first signal processing processor 2, the second signal processing processor 4, the third signal processing processor 6, and the DMA are processed. The bank accessed by the controller 16 is shifted one by one, and the same processing is executed again. The bus access state shown in FIG.

そして、更に次回のブロックデータの処理の際には、図4に示すように、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、前記第3信号処理用プロセッサ6及び前記DMAコントローラ16がアクセスするバンクを、更に1つづつずらして、再び同様の処理を実行する。なお、図4に示すバスアクセスの状態をフェイズ3と称する。   In the next block data processing, as shown in FIG. 4, the first signal processing processor 2, the second signal processing processor 4, the third signal processing processor 6, and the DMA are processed. The bank accessed by the controller 16 is shifted one by one, and the same processing is executed again. The bus access state shown in FIG.

したがって、その次のブロックデータの処理の際にも、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、前記第3信号処理用プロセッサ6及び前記DMAコントローラ16がアクセスするバンクを1個づつずらすので、バンクアクセスの状態は図2に示すフェイズ1の状態に戻る。このようにして、各ブロックデータによって構成される画像データ全体に、上述した処理が施されるまで繰り返される。   Therefore, the bank to be accessed by the first signal processing processor 2, the second signal processing processor 4, the third signal processing processor 6 and the DMA controller 16 also in the processing of the next block data. Since one by one is shifted, the bank access state returns to the phase 1 state shown in FIG. In this way, the process is repeated until the above-described processing is performed on the entire image data constituted by each block data.

このような手順にて処理を行うことで、前記外部メモリ18ヘのアクセス量を低減することができ、且つ前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6での信号処理を行いながら同時にデータ転送をも行うことができる。   By performing processing in such a procedure, the amount of access to the external memory 18 can be reduced, and the first signal processing processor 2, the second signal processing processor 4, and the third signal processing can be performed. While performing signal processing in the signal processing processor 6, data transfer can be performed simultaneously.

なお、ここでは容量の大きいデータとして画像データを想定して説明したが、処理するデータは画像データに限られないことは勿論である。   Although the description has been made assuming that image data is large-capacity data here, the data to be processed is not limited to image data.

また、本第1実施形態に係るマルチプロセッサ信号処理装置においては、DMA転送の為のパラメータ設定、DMA転送開始の為のレジスタ設定、及び前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、前記第3信号処理用プロセッサ6における処理開始のレジスタ設定等は、前記コントロール用プロセッサ14によって行われる。   In the multiprocessor signal processing apparatus according to the first embodiment, parameter setting for DMA transfer, register setting for starting DMA transfer, the first signal processing processor 2, and the second signal processing The processing start register setting in the processor 4 and the third signal processing processor 6 is performed by the control processor 14.

以上説明したように、本第1実施形態によれば、大容量のデータを高速で演算しなければならない信号処理時であっても、外部メモリヘのアクセス量を軽減させ且つ処理データのデータ転送を効率的に行うことで高速演算を可能とするマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the first embodiment, even during signal processing where a large amount of data must be calculated at high speed, the amount of access to the external memory can be reduced and the data of the processed data can be transferred. It is possible to provide a multiprocessor signal processing device capable of performing high-speed computation by performing efficiently.

具体的には、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10における異なるバンクには、それぞれに隣接する2個の前記信号処理用プロセッサと前記コントロール用プロセッサ14と前記DMAコントローラ16とが同時にアクセスすることができる。これにより、前記外部メモリ18ヘのアクセス量を低減させることができ、且つ前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6が演算中であっても、前記DMAコントローラ16や前記コントロール用プロセッサ14によって、次回の演算で前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6が使用するデータを、前記外部メモリ18から前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10に送ったり、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6の演算結果を、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10から前記外部メモリ18へ送ることが可能となる。   Specifically, different banks in the first local shared memory 8 and the second local shared memory 10 include two adjacent signal processing processors, the control processor 14, and the DMA controller 16, respectively. Can be accessed simultaneously. As a result, the amount of access to the external memory 18 can be reduced, and the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 are performing calculations. Even so, the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 are used by the DMA controller 16 and the control processor 14 in the next calculation. Data is sent from the external memory 18 to the first local shared memory 8 and the second local shared memory 10, or the first signal processing processor 2, the second signal processing processor 4, and the third signal. The calculation result of the processor 6 for processing is sent from the first local shared memory 8 and the second local shared memory 10 before It is possible to send to the external memory 18.

上述したように、本第1実施形態に係るマルチプロセッサ信号処理装置によれば、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6にて信号処理を行いながら処理データのデータ転送を行うことができる。したがって、図5に示すように、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6での処理時間(図5に示す“第1信号処理用プロセッサ2”、“第2信号処理用プロセッサ4”、及び“第3信号処理用プロセッサ6”が相当)が、データ転送の時間(図5に示す“入力DMA”及び“出力DMA”が相当)よりも長い場合には、実質的にデータ転送に掛かる時間を無視することができる。   As described above, according to the multiprocessor signal processing apparatus of the first embodiment, the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 are used. Data transfer of processing data can be performed while performing signal processing. Therefore, as shown in FIG. 5, the processing time in the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 ("first signal processing shown in FIG. 5" Data processor 2 ”,“ second signal processor 4 ”, and“ third signal processor 6 ”are equivalent to the data transfer time (“ input DMA ”and“ output DMA ”shown in FIG. 5). ), The time required for data transfer can be substantially ignored.

[第2実施形態]
次に、本発明の第2実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第1実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。図6は、本第2実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
[Second Embodiment]
Next, a multiprocessor signal processing apparatus according to a second embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the first embodiment will be described. FIG. 6 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the second embodiment.

本第2実施形態に係るマルチプロセッサ信号処理装置は、図6に示すように前記第1信号処理用プロセッサ2には、内部バス11Eによって第1ローカル端メモリ20が接続されている。同様に、前記第3信号処理用プロセッサ6には、内部バス11Fによってローカル端メモリ22が接続されている。なお、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22は、前記ローカル共有メモリと同じ仕様のメモリである。   In the multiprocessor signal processing apparatus according to the second embodiment, as shown in FIG. 6, a first local end memory 20 is connected to the first signal processing processor 2 by an internal bus 11E. Similarly, a local end memory 22 is connected to the third signal processing processor 6 by an internal bus 11F. The first local end memory 20 and the second local end memory 22 are memories having the same specifications as the local shared memory.

すなわち、前記第1ローカル端メモリ20は、第1バンク20Aと第2バンク20Bと第3バンク20Cとを有する。同様に、前記第2ローカル端メモリ22は、第1バンク22Aと第2バンク22Bと第3バンク22Cとを有する。   That is, the first local end memory 20 includes a first bank 20A, a second bank 20B, and a third bank 20C. Similarly, the second local end memory 22 includes a first bank 22A, a second bank 22B, and a third bank 22C.

以上説明したように、本第2実施形態によれば、前記第1実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、更に効率のよいデータフローを実現するマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the second embodiment, a multiprocessor signal processing apparatus that achieves a more efficient data flow in addition to the same effects as the multiprocessor signal processing apparatus according to the first embodiment. Can be provided.

具体的には、本第2実施形態に係るマルチプロセッサ信号処理装置においては、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22を設けることで、より効率の良いデータフローを実現する。   Specifically, in the multiprocessor signal processing apparatus according to the second embodiment, a more efficient data flow is realized by providing the first local end memory 20 and the second local end memory 22.

なお、ここではローカル端メモリとして、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22の2つのローカル端メモリを設けたが、どちらか一方のみを設ける構成としても勿論よい。   Here, as the local end memory, the two local end memories of the first local end memory 20 and the second local end memory 22 are provided, but it is of course possible to provide only one of them.

[第3実施形態]
次に、本発明の第3実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第2実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。図7は、本第3実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。
[Third Embodiment]
Next, a multiprocessor signal processing apparatus according to a third embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the second embodiment will be described. FIG. 7 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the third embodiment.

前記第1実施形態において説明したように、図2に示すバンクアクセスの状態から図3に示すバンクアクセスの状態に移る場合、例えば前記第1信号処理用プロセッサ2がアクセスする前記第1ローカル共有メモリ8におけるバンクは、前記第2バンク8Bから前記第3バンク8Cに切り替わる。   As described in the first embodiment, when the bank access state shown in FIG. 2 shifts to the bank access state shown in FIG. 3, for example, the first local shared memory accessed by the first signal processing processor 2 The bank in 8 is switched from the second bank 8B to the third bank 8C.

したがって、例えば前記フェイズ1の状態における前記第1信号処理用プロセッサ2による処理結果の一部を、前記フェイズ2の状態においても前記第1信号処理用プロセッサ2が使用したい場合には、前記第1ローカル共有メモリ8にではなく、前記第1信号処理用プロセッサ2に付随させた非共有のメモリを設けたほうが効率のよいデータフローとなる。   Therefore, for example, when the first signal processing processor 2 wants to use a part of the processing result by the first signal processing processor 2 in the phase 1 state even in the phase 2 state, the first signal processing processor 2 An efficient data flow is achieved by providing a non-shared memory associated with the first signal processing processor 2 instead of the local shared memory 8.

つまり、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10以外に、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6にそれぞれ付随させた非共有のメモリであるローカル非共有メモリを設けることで、より効率のよいデータフローを実現することができる。   That is, in addition to the first local shared memory 8 and the second local shared memory 10, the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 are associated with each other. By providing a local non-shared memory, which is a non-shared memory, a more efficient data flow can be realized.

そこで、本第3実施形態に係るマルチプロセッサ信号処理装置においては、図7に示すように、前記第1信号処理用プロセッサ2に付随させて第1ローカル非共有メモリ24を設け、前記第2信号処理用プロセッサ4に付随させて第2ローカル非共有メモリ26を設け、前記第3信号処理用プロセッサ6に付随させて第3ローカル非共有メモリ28を設ける。   Therefore, in the multiprocessor signal processing apparatus according to the third embodiment, as shown in FIG. 7, a first local non-shared memory 24 is provided in association with the first signal processing processor 2, and the second signal A second local unshared memory 26 is provided in association with the processing processor 4, and a third local non-shared memory 28 is provided in association with the third signal processing processor 6.

これにより、例えば、前記第1信号処理用プロセッサ2が、図2乃至図4に示す何れのフェイズの状態においても共通に使用するパラメータがある場合に、同じパラメータを前記第1ローカル共有メモリ8における全てのバンクに保存する必要がなくなり、前記第1ローカル非共有メモリ24のみに保存することで、効率のよいデータフローを実現することができる。   Thereby, for example, when there is a parameter that the first signal processing processor 2 uses in common in any phase state shown in FIGS. 2 to 4, the same parameter is stored in the first local shared memory 8. It is not necessary to store in all banks, and efficient data flow can be realized by storing only in the first local non-shared memory 24.

また、演算途中のデータの保存に関しても、前記第1ローカル非共有メモリ24、前記第2ローカル非共有メモリ26、及び前記第3ローカル非共有メモリ28を利用することによって、より効率のよいデータフローを実現することができる。   Further, regarding the storage of data in the middle of computation, a more efficient data flow can be obtained by using the first local non-shared memory 24, the second local non-shared memory 26, and the third local non-shared memory 28. Can be realized.

以上説明したように、本第3実施形態によれば、前記第2実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the third embodiment, the same effect as that of the multiprocessor signal processing apparatus according to the second embodiment can be obtained, and a more efficient data flow can be realized. A signal processing apparatus can be provided.

具体的には、前記第1ローカル非共有メモリ24、前記第2ローカル非共有メモリ26、及び前記第3ローカル非共有メモリ28に、例えば図2に示す前記フェイズ1における計算結果の一部であって、図3に示す前記フェイズ2においても使用するデータを保存したり、どのフェイズにおいても共通に使用するパラメータを保存することで、より効率の良いデータフローを実現することができる。   Specifically, the first local non-shared memory 24, the second local non-shared memory 26, and the third local non-shared memory 28 are part of the calculation results in the phase 1 shown in FIG. Thus, it is possible to realize a more efficient data flow by storing data used in the phase 2 shown in FIG. 3 and storing parameters used in common in any phase.

つまり、本第3実施形態に係るマルチプロセッサ信号処理装置によれば、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10のメモリ容量を小さく抑えることができ、且つ様々な信号処理に対応することができる。   That is, according to the multiprocessor signal processing device according to the third embodiment, the memory capacity of the first local shared memory 8 and the second local shared memory 10 can be reduced, and various signal processing can be supported. can do.

[第4実施形態]
次に、本発明の第4実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第3実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
[Fourth Embodiment]
Next, a multiprocessor signal processing apparatus according to a fourth embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the third embodiment will be described.

図8は、本第4実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。同図に示すように、本第4実施形態に係るマルチプロセッサ信号処理装置においては、前記第1ローカル端メモリ20に対してバンク選択レジスタ30が、前記第1ローカル共有メモリ8に対してバンク選択レジスタ32が、前記第2ローカル共有メモリ10に対してバンク選択レジスタ34が、前記第2ローカル端メモリ22に対してバンク選択レジスタ36が、それぞれ接続されて設けられている。つまり、本第4実施形態に係るマルチプロセッサ信号処理装置においては、前記の各メモリごとに、当該メモリのバンク番号(第1乃至第3)を指示する為のレジスタが設けられている。   FIG. 8 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the fourth embodiment. As shown in the figure, in the multiprocessor signal processing apparatus according to the fourth embodiment, a bank selection register 30 is selected for the first local end memory 20 and a bank is selected for the first local shared memory 8. A register 32 is provided with a bank selection register 34 connected to the second local shared memory 10 and a bank selection register 36 connected to the second local end memory 22. That is, in the multiprocessor signal processing apparatus according to the fourth embodiment, a register for designating the bank number (first to third) of the memory is provided for each memory.

図9は、本第4実施形態に係るマルチプロセッサ信号処理装置における前記第2信号処理用プロセッサ4のアドレス空間の一構成例を示す図である。また、図10は、仮想アドレスが前記第1ローカル共有メモリ8のどのバンクを指すかを選択するレジスタを示す図である。図11は、仮想アドレスが前記第2ローカル共有メモリ10どのバンクを指すかを選択するレジスタを示している。   FIG. 9 is a diagram showing a configuration example of an address space of the second signal processing processor 4 in the multiprocessor signal processing apparatus according to the fourth embodiment. FIG. 10 is a diagram showing a register for selecting which bank of the first local shared memory 8 the virtual address indicates. FIG. 11 shows a register for selecting which bank the virtual address indicates the second local shared memory 10.

ここで、図9に示す前記第2信号処理用プロセッサ4のアドレス空間のうち、0x00000及び0x04000は仮想のアドレスである。また、同図に示すように0x01000は前記第1ローカル共有メモリ8の第1バンク8Aに対応し、0x02000は前記第1ローカル共有メモリ8の第2バンク8Bに対応し、0x03000は前記第1ローカル共有メモリ8の第3バンク8Cに対応している。   Here, in the address space of the second signal processing processor 4 shown in FIG. 9, 0x00000 and 0x04000 are virtual addresses. As shown in the figure, 0x01000 corresponds to the first bank 8A of the first local shared memory 8, 0x02000 corresponds to the second bank 8B of the first local shared memory 8, and 0x03000 corresponds to the first local shared memory 8. This corresponds to the third bank 8C of the shared memory 8.

そして、仮想アドレスである0x00000がどのバンクを指すかは、図10に示すレジスタ設定によって決定される。すなわち、レジスタの2ビットの値、00、01、10は、それぞれ第1バンク8A、第2バンク8B、第3バンク8Cを指し示している。なお、2ビットの値11は、使用しない。   The bank to which the virtual address 0x00000 points is determined by the register setting shown in FIG. That is, the 2-bit values 00, 01, and 10 of the register indicate the first bank 8A, the second bank 8B, and the third bank 8C, respectively. The 2-bit value 11 is not used.

例えば、図10に示すように前記第2信号処理用プロセッサ4から前記第1ローカル共有メモリ8にアクセスする際の仮想アドレスは2進数で10となっているので、前記第3バンク8Cに対応している。   For example, as shown in FIG. 10, since the virtual address when accessing the first local shared memory 8 from the second signal processor 4 is 10 in binary, it corresponds to the third bank 8C. ing.

一方、0x05000は前記第2ローカル共有メモリ10の第1バンク10Aに対応し、0x06000は前記第2ローカル共有メモリ10の第2バンク10Bに対応し、0x07000は前記第3ローカル共有メモリ10の第3バンク10Cに対応している。   On the other hand, 0x05000 corresponds to the first bank 10A of the second local shared memory 10, 0x06000 corresponds to the second bank 10B of the second local shared memory 10, and 0x07000 corresponds to the third bank of the third local shared memory 10. Corresponds to bank 10C.

そして、仮想アドレスである0x04000がどのバンクを指すかは、図11に示すレジスタ設定によって決定される。すなわち、レジスタの2ビットの値、00、01、10は、それぞれ第1バンク10A、第2バンク10B、第3バンク10Cを指し示している。なお、2ビットの値11は、使用しない。   The bank to which the virtual address 0x04000 indicates is determined by the register setting shown in FIG. That is, the 2-bit values 00, 01, and 10 of the register indicate the first bank 10A, the second bank 10B, and the third bank 10C, respectively. The 2-bit value 11 is not used.

例えば、図11に示すように、前記第2信号処理用プロセッサ4から前記第2ローカル共有メモリ10へアクセスする際の仮想アドレスは2進数で00となっているので、前記第1バンク10Aに対応している。   For example, as shown in FIG. 11, since the virtual address when accessing the second local shared memory 10 from the second signal processing processor 4 is 00 in binary, it corresponds to the first bank 10A. is doing.

なお、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22にアクセスする際の仮想アドレスに関しても、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10の場合と同様にして、どのバンクを指すかのレジスタ設定ができることは勿論である。   As for the virtual addresses for accessing the first local end memory 20 and the second local end memory 22, as in the case of the first local shared memory 8 and the second local shared memory 10, Of course, it is possible to set a register to indicate a bank.

以上説明したように、本第4実施形態によれば、前記第3実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the fourth embodiment, the same effect as that of the multiprocessor signal processing apparatus according to the third embodiment can be obtained, and a more efficient data flow can be realized. A signal processing apparatus can be provided.

すなわち、本第4実施形態に係るマルチプロセッサ信号処理装置によれば、フェイズが変わる際に前記バンク選択レジスタ30,32,34,36の設定を切り替えることで、アドレスを書き換えることなく、フェイズが変わる前と同様のプログラムを動かすことができる。換言すれば、所定のプログラムを組む際に、前記3つのフェイズに分けてアドレスを書く必要がなくなる。   That is, according to the multiprocessor signal processing device of the fourth embodiment, the phase changes without rewriting the address by switching the setting of the bank selection registers 30, 32, 34, and 36 when the phase changes. You can run the same program as before. In other words, it is not necessary to write addresses in the three phases when a predetermined program is created.

[第5実施形態]
次に、本発明の第5実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第4実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。本第5実施形態に係るマルチプロセッサ信号処理装置の構成は、図8に示す前記第4実施形態に係るマルチプロセッサ信号処理装置の構成と同様である。
[Fifth Embodiment]
Next, a multiprocessor signal processing apparatus according to a fifth embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the fourth embodiment will be described. The configuration of the multiprocessor signal processing apparatus according to the fifth embodiment is the same as the configuration of the multiprocessor signal processing apparatus according to the fourth embodiment shown in FIG.

図12は、本第5実施形態に係るマルチプロセッサ信号処理装置において、前記外部バス12からアクセスする際に使用するアドレス空間を示す図である。換言すれば、図12は、前記コントロール用プロセッサ14または前記DMAコントローラ16からアクセスする際のアドレス空間を示す図である。   FIG. 12 is a diagram showing an address space used when accessing from the external bus 12 in the multiprocessor signal processing apparatus according to the fifth embodiment. In other words, FIG. 12 is a diagram showing an address space when accessing from the control processor 14 or the DMA controller 16.

また、図13は、仮想アドレスが前記第1ローカル共有メモリ8のどのバンクを指すかを選択するレジスタを示す図である。そして、図14は、仮想アドレスが前記第2ローカル共有メモリ10のどのバンクを指すかを選択するレジスタを示す図である。   FIG. 13 is a diagram showing a register for selecting which bank of the first local shared memory 8 the virtual address indicates. FIG. 14 is a diagram showing a register for selecting which bank of the second local shared memory 10 the virtual address indicates.

ここで、図12に示す前記外部バス12からアクセスする際のアドレスのうち、0x800000と0x804000は、仮想のアドレスである。また、同図に示すように0x801000は前記第1ローカル共有メモリ8の第1バンク8Aに対応し、0x802000は前記第1ローカル共有メモリ8の第2バンク8Bに対応し、0x803000は前記第1ローカル共有メモリ8の第3バンク8Cに対応している。   Here, of the addresses when accessing from the external bus 12 shown in FIG. 12, 0x800000 and 0x804000 are virtual addresses. As shown in the figure, 0x801000 corresponds to the first bank 8A of the first local shared memory 8, 0x802000 corresponds to the second bank 8B of the first local shared memory 8, and 0x803000 corresponds to the first local shared memory 8. This corresponds to the third bank 8C of the shared memory 8.

そして、仮想アドレスである0x800000がどのバンクを指すかは、図13に示すレジスタ設定によって決定される。すなわち、レジスタの2ビットの値、00、01、10は、それぞれ第1バンク8A、第2バンク8B、第3バンク8Cを指し示している。なお、2ビットの値11は、使用しない。   The bank to which the virtual address 0x800000 points is determined by the register setting shown in FIG. That is, the 2-bit values 00, 01, and 10 of the register indicate the first bank 8A, the second bank 8B, and the third bank 8C, respectively. The 2-bit value 11 is not used.

例えば、図13に示すように、前記外部バス12から前記第1ローカル共有メモリ8へアクセスする際の仮想アドレスは2進数で00となっているので、前記第1バンク8Aに対応する。   For example, as shown in FIG. 13, since the virtual address when accessing the first local shared memory 8 from the external bus 12 is 00 in binary, it corresponds to the first bank 8A.

一方、0x805000は前記第2ローカル共有メモリ10の第1バンク10Aに対応し、0x806000は前記第2ローカル共有メモリ10の第2バンク10Bに対応し、0x807000は前記第3ローカル共有メモリ10の第3バンク10Cに対応している。   On the other hand, 0x805000 corresponds to the first bank 10A of the second local shared memory 10, 0x806000 corresponds to the second bank 10B of the second local shared memory 10, and 0x807000 corresponds to the third bank of the third local shared memory 10. Corresponds to bank 10C.

そして、仮想アドレスである0x804000がどのバンクを指すかは、図14に示すレジスタ設定によって決定される。すなわち、レジスタの2ビットの値、00、01、10は、それぞれ第1バンク10A、第2バンク10B、第3バンク10Cを指し示している。なお、2ビットの値11は、使用しない。   The bank to which the virtual address 0x804000 points is determined by the register setting shown in FIG. That is, the 2-bit values 00, 01, and 10 of the register indicate the first bank 10A, the second bank 10B, and the third bank 10C, respectively. The 2-bit value 11 is not used.

例えば、前記外部バス12から前記第2ローカル共有メモリ10へアクセスする際の仮想アドレスは、2進数で10となっているので、前記第3バンク10Cに対応している。   For example, since the virtual address when accessing the second local shared memory 10 from the external bus 12 is 10 in binary, it corresponds to the third bank 10C.

なお、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22にアクセスする際の仮想アドレスに関しても、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10の場合と同様にして、どのバンクを指すかのレジスタ設定ができることは勿論である。   As for the virtual addresses for accessing the first local end memory 20 and the second local end memory 22, as in the case of the first local shared memory 8 and the second local shared memory 10, Of course, it is possible to set a register to indicate a bank.

以上説明したように、本第5実施形態によれば、前記第4実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、より効率の良いデータフローを実現することができるマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the fifth embodiment, the same effect as that of the multiprocessor signal processing apparatus according to the fourth embodiment can be obtained, and a more efficient data flow can be realized. A signal processing apparatus can be provided.

具体的には、本第5実施形態に係るマルチプロセッサ信号処理装置によれば、前記外部バス12から、前記第1共有メモリ8、前記第2ローカル共有メモリ10、前記第1ローカル端メモリ20、前記第2ローカル端メモリ22へアクセスする際にも仮想アドレスを用いることが可能となる。   Specifically, according to the multiprocessor signal processing apparatus according to the fifth embodiment, from the external bus 12, the first shared memory 8, the second local shared memory 10, the first local end memory 20, It is possible to use a virtual address when accessing the second local end memory 22.

[第6実施形態]
次に、本発明の第6実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第5実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
[Sixth Embodiment]
Next, a multiprocessor signal processing apparatus according to the sixth embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the fifth embodiment will be described.

図15は、本第6実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。   FIG. 15 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the sixth embodiment.

同図に示すように、本第6実施形態に係るマルチプロセッサ信号処理装置では、前記第5実施形態に係るマルチプロセッサ信号処理装置の具備する前記コントロール用プロセッサ14は設けられず、代わりに前記第2信号処理用プロセッサ4が、バス40によって前記外部バス12に接続される。   As shown in the figure, in the multiprocessor signal processing device according to the sixth embodiment, the control processor 14 included in the multiprocessor signal processing device according to the fifth embodiment is not provided. A two-signal processor 4 is connected to the external bus 12 by a bus 40.

そして、本第6実施形態に係るマルチプロセッサ信号処理装置においては、前記第2信号処理用プロセッサ4が、前記外部バス12及び前記バス40を通して、前記コントロール用プロセッサ14としての処理を行う。   In the multiprocessor signal processing apparatus according to the sixth embodiment, the second signal processing processor 4 performs processing as the control processor 14 through the external bus 12 and the bus 40.

ここで、前記コントロール用プロセッサ14としての処理とは、例えば、DMAのコントロール、前記第1信号処理用プロセッサ2及び前記第2信号処理用プロセッサ4のコントロール、前記の各バンク選択レジスタの設定、前記第1ローカル共有メモリ8及び前記第2ローカル共有メモリ10ヘのアクセス、前記第1ローカル端メモリ20及び前記第2ローカル端メモリ22ヘのアクセス、前記第1ローカル非共有メモリ24、前記第2ローカル非共有メモリ26、及び前記第3ローカル非共有メモリ28ヘのアクセス等の処理のことである。   Here, the processing as the control processor 14 includes, for example, DMA control, control of the first signal processing processor 2 and the second signal processing processor 4, setting of each bank selection register, Access to the first local shared memory 8 and the second local shared memory 10, access to the first local end memory 20 and the second local end memory 22, the first local non-shared memory 24, the second local This is processing such as access to the non-shared memory 26 and the third local non-shared memory 28.

以上説明したように、本第6実施形態によれば、前記コントロール用プロセッサ14を設けずして、前記第5実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏するマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the sixth embodiment, there is provided a multiprocessor signal processing apparatus having the same effects as the multiprocessor signal processing apparatus according to the fifth embodiment without providing the control processor 14. Can be provided.

なお、以上説明したように、前記第2信号処理用プロセッサ4に、前記コントロール用プロセッサ14としての機能を担わせるのではなく、前記第1信号処理用プロセッサ2または前記第3信号処理用プロセッサ6に、前記コントロール用プロセッサ14の機能を担わせても勿論よい。   As described above, the second signal processing processor 4 does not have the function as the control processor 14, but the first signal processing processor 2 or the third signal processing processor 6. Of course, the function of the control processor 14 may be assigned.

また、複数の信号処理用プロセッサを前記外部バス12に接続することで、複数の信号処理用プロセッサが協働して前記コントロール用プロセッサ14としての処理を行うとしても勿論よい。   Of course, by connecting a plurality of signal processing processors to the external bus 12, the plurality of signal processing processors may cooperate to perform the processing as the control processor 14.

[第7実施形態]
本発明の第7実施形態に係るマルチプロセッサ信号処理装置について説明する。なお、前記第5実施形態に係るマルチプロセッサ信号処理装置との相違点のみを説明する。
[Seventh Embodiment]
A multiprocessor signal processing apparatus according to a seventh embodiment of the present invention will be described. Only differences from the multiprocessor signal processing apparatus according to the fifth embodiment will be described.

図16は、本第7実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図である。   FIG. 16 is a block diagram showing the configuration of the multiprocessor signal processing apparatus according to the seventh embodiment.

同図に示すように、本第7実施形態に係るマルチプロセッサ信号処理装置は、前記第3信号処理用プロセッサ6の代わりに、特殊な処理に特化したハードアクセラレータ50を具備する。すなわち、該ハードアクセラレータ50は、前記第2ローカル端メモリ22と前記第2ローカル共有メモリ10と前記第3ローカル非共有メモリ28とに接続されている。   As shown in the figure, the multiprocessor signal processing apparatus according to the seventh embodiment includes a hard accelerator 50 specialized for special processing instead of the third signal processing processor 6. That is, the hard accelerator 50 is connected to the second local end memory 22, the second local shared memory 10, and the third local non-shared memory 28.

このような構成の下、前記コントロール用プロセッサ14によって、前記ハードアクセラレータ50に対応するレジスタに、予め定められた値が書き込まれることで、前記ハードアクセラレータ50に特殊な処理を実行させることができる。   Under such a configuration, a predetermined value can be written in a register corresponding to the hard accelerator 50 by the control processor 14 to cause the hard accelerator 50 to execute a special process.

以上説明したように、本第7実施形態によれば、前記第5実施形態に係るマルチプロセッサ信号処理装置と同様の効果を奏する上に、前記ハードアクセラレータ50によって特殊な処理を行うことができるマルチプロセッサ信号処理装置を提供することができる。   As described above, according to the seventh embodiment, the same effects as the multiprocessor signal processing apparatus according to the fifth embodiment can be obtained, and the hard accelerator 50 can perform special processing. A processor signal processing apparatus can be provided.

以上、第1実施形態乃至第7実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形及び応用が可能なことは勿論である。   As mentioned above, although this invention was demonstrated based on 1st Embodiment thru | or 7th Embodiment, this invention is not limited to embodiment mentioned above, A various deformation | transformation and application are within the range of the summary of this invention. Of course it is possible.

例えば、前記第1実施形態乃至前記第7実施形態においては、信号処理用プロセッサとして3個の信号処理用プロセッサを想定して説明したが、信号処理用プロセッサの個数は2個以上であれば何個であっても構わないことは勿論である。   For example, in the first to seventh embodiments, the description has been made assuming that three signal processing processors are used as the signal processing processors. However, what is necessary is that the number of signal processing processors is two or more. Of course, it may be individual.

また、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6として実際に使用するプロセッサには、例えばRISCプロセッサ、DSP、SIMD等様々なプロセッサを挙げることができるが、上述した各実施形態は、何れの種類のプロセッサであっても適用可能であることは勿論である。さらに、前記第1信号処理用プロセッサ2、前記第2信号処理用プロセッサ4、及び前記第3信号処理用プロセッサ6には、互いに同じ種類のプロセッサを用いる必要はなく、互いに異なる種類のプロセッサを用いても勿論よい。   The processor actually used as the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 includes various processors such as a RISC processor, a DSP, and a SIMD. Of course, the embodiments described above can be applied to any type of processor. Further, the first signal processing processor 2, the second signal processing processor 4, and the third signal processing processor 6 do not need to use the same type of processors, but use different types of processors. Of course.

なお、前記コントロール用プロセッサ14として実際に使用するプロセッサにも、例えばRISCプロセッサ、DSP、SIMD等様々なプロセッサを挙げることができる。   Note that various processors such as RISC processor, DSP, and SIMD can be used as the processor actually used as the control processor 14.

さらに、上述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。   Further, the above-described embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be extracted as an invention.

本発明の第1実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。1 is a block diagram showing a configuration of a multiprocessor signal processing apparatus according to a first embodiment of the present invention. 本発明の第1実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。The figure which shows the data flow in the signal processing by the multiprocessor signal processing apparatus which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。The figure which shows the data flow in the signal processing by the multiprocessor signal processing apparatus which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るマルチプロセッサ信号処理装置による信号処理におけるデータの流れを示す図。The figure which shows the data flow in the signal processing by the multiprocessor signal processing apparatus which concerns on 1st Embodiment of this invention. 本発明の第1実施形態に係るマルチプロセッサ信号処理装置による信号処理時間を模式的に示す図。The figure which shows typically the signal processing time by the multiprocessor signal processing apparatus which concerns on 1st Embodiment of this invention. 本発明の第2実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。The block diagram which shows the structure of the multiprocessor signal processing apparatus which concerns on 2nd Embodiment of this invention. 本発明の第3実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。The block diagram which shows the structure of the multiprocessor signal processing apparatus which concerns on 3rd Embodiment of this invention. 本発明の第4実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。The block diagram which shows the structure of the multiprocessor signal processing apparatus which concerns on 4th Embodiment of this invention. 本発明の第4実施形態に係るマルチプロセッサ信号処理装置における第2信号処理用プロセッサのアドレス空間の一構成例を示す図。The figure which shows the example of 1 structure of the address space of the processor for 2nd signal processing in the multiprocessor signal processing apparatus which concerns on 4th Embodiment of this invention. 仮想アドレスが第1ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。The figure which shows the register | resistor which selects which bank of a 1st local shared memory a virtual address points out. 仮想アドレスが第2ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。The figure which shows the register | resistor which selects which bank of a 2nd local shared memory a virtual address points out. 本発明の第5実施形態に係るマルチプロセッサ信号処理装置において、外部バスからアクセスする際に使用するアドレス空間を示す図。The figure which shows the address space used when accessing from an external bus in the multiprocessor signal processing apparatus which concerns on 5th Embodiment of this invention. 仮想アドレスが第1ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。The figure which shows the register | resistor which selects which bank of a 1st local shared memory a virtual address points out. 仮想アドレスが第2ローカル共有メモリのどのバンクを指すかを選択するレジスタを示す図。The figure which shows the register | resistor which selects which bank of a 2nd local shared memory a virtual address points out. 本発明の第6実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。The block diagram which shows the structure of the multiprocessor signal processing apparatus which concerns on 6th Embodiment of this invention. 本発明の第7実施形態に係るマルチプロセッサ信号処理装置の構成を示すブロック図。The block diagram which shows the structure of the multiprocessor signal processing apparatus which concerns on 7th Embodiment of this invention.

符号の説明Explanation of symbols

2…第1信号処理用プロセッサ、 4…第2信号処理用プロセッサ、 6…第3信号処理用プロセッサ、 8…第1ローカル共有メモリ、 8A…第1バンク、 8B…第2バンク、 8C…第3バンク、 10…第2ローカル共有メモリ、 10A…第1バンク、 10B…第2バンク、 10C…第3バンク、 11A,11B,11C,11D,11E,11F…内部バス、 12…外部バス、 14…コントロール用プロセッサ、 16…DMAコントローラ、 18…外部メモリ、 20…第1ローカル端メモリ、 20A…第1バンク、 20B…第2バンク、 20C…第3バンク、 22…第2ローカル端メモリ、 22A…第1バンク、 22B…第2バンク、 22C…第3バンク、 24…第1ローカル非共有メモリ、 26…第2ローカル非共有メモリ、 28…第3ローカル非共有メモリ、 30,32,34,36…バンク選択レジスタ、 40…バス、 50…ハードアクセラレータ。     DESCRIPTION OF SYMBOLS 2 ... Processor for 1st signal processing, 4 ... Processor for 2nd signal processing, 6 ... Processor for 3rd signal processing, 8 ... 1st local shared memory, 8A ... 1st bank, 8B ... 2nd bank, 8C ... 1st 3 banks, 10 ... second local shared memory, 10A ... first bank, 10B ... second bank, 10C ... third bank, 11A, 11B, 11C, 11D, 11E, 11F ... internal bus, 12 ... external bus, 14 ... Control processor, 16 ... DMA controller, 18 ... External memory, 20 ... First local end memory, 20A ... First bank, 20B ... Second bank, 20C ... Third bank, 22 ... Second local end memory, 22A ... 1st bank, 22B ... 2nd bank, 22C ... 3rd bank, 24 ... 1st local unshared memory, 26 ... 2nd b Cal unshared memory, 28 ... third local unshared memory, 30, 32, 34, 36 ... bank select register, 40 ... bus, 50 ... hard acceleration.

Claims (7)

並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、
外部バスに接続され、且つ前記複数個のプロセッサのうち隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、
前記外部バスに接続され、前記複数個のプロセッサを制御する為のコントロール用プロセッサと、
前記外部バスに接続されたメモリである外部メモリと、
前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うDMAコントローラと、
を具備し、
前記ローカル共有メモリは、複数個のバンクを有することを特徴とするマルチプロセッサ信号処理装置。
A multiprocessor signal processing apparatus comprising a plurality of processors arranged in parallel,
A local shared memory that is connected to an external bus and is a memory shared by adjacent processors among the plurality of processors;
A control processor connected to the external bus for controlling the plurality of processors;
An external memory that is a memory connected to the external bus;
A DMA controller connected to the external bus for transferring data between the external memory and the local shared memory;
Comprising
The multiprocessor signal processing apparatus, wherein the local shared memory has a plurality of banks.
前記並設された複数個のプロセッサのうち両端に位置するプロセッサには、他の前記プロセッサと共有しないメモリであるローカル端メモリが接続して設けられており、
前記ローカル端メモリは、複数のバンクを有することを特徴とする請求填1に記載のマルチプロセッサ信号処環装置。
Among the plurality of processors arranged side by side, the processors located at both ends are provided with a local end memory that is a memory not shared with the other processors,
The multiprocessor signal processing apparatus according to claim 1, wherein the local end memory includes a plurality of banks.
前記の各プロセッサと前記外部バスとに接続されているメモリであるローカル非共有メモリを更に具備することを特徴とする請求項1または2に記載のマルチプロセッサ信号処理装置。   3. The multiprocessor signal processing apparatus according to claim 1, further comprising a local non-shared memory that is a memory connected to each of the processors and the external bus. 前記の各ローカル共有メモリ及び前記の各ローカル端メモリには、それぞれに接続されている前記の各プロセッサ毎に、バンクを選択する為のバンク選択レジスタが接続して設けられており、
前記バンク選択レジスタは、仮想アドレスによって前記の各プロセッサから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする請求項1乃至3のうち何れか1つに記載のマルチプロセッサ信号処理装置。
Each local shared memory and each local end memory are provided with a bank selection register for selecting a bank for each processor connected to each local memory,
4. The bank selection register selects a bank for accessing each local shared memory or each local end memory from each processor by a virtual address. 5. A multiprocessor signal processing device according to claim 1.
前記バンク選択レジスタは、仮想アドレスによって前記外部バスから前記の各ローカル共有メモリまたは前記のローカル端メモリへアクセスする際のバンクを選択することを特徴とする請求項4に記載のマルチプロセッサ信号処理装置。   5. The multiprocessor signal processing apparatus according to claim 4, wherein the bank selection register selects a bank for accessing the local shared memory or the local end memory from the external bus by a virtual address. . 並設された複数個のプロセッサを具備するマルチプロセッサ信号処理装置であって、
外部バスに接続され、且つ隣接するプロセッサ同士が共有するメモリであるローカル共有メモリと、
前記外部バスに接続されたメモリである外部メモリと、
前記外部バスに接続され、前記外部メモリと前記ローカル共有メモリとの間のデータ転送を行うDMAコントローラと、
を具備し、
前記ローカル共有メモリはそれぞれ複数個のバンクを有し、且つ前記複数個のプロセッサのうち少なくとも何れか1つのプロセッサは前記外部バスに接続され、前記外部バスに接続されたプロセッサは、当該プロセッサを除く前記複数個のプロセッサを制御することを特徴とするマルチプロセッサ信号処理装置。
A multiprocessor signal processing apparatus comprising a plurality of processors arranged in parallel,
A local shared memory that is connected to the external bus and is shared by adjacent processors;
An external memory that is a memory connected to the external bus;
A DMA controller connected to the external bus for transferring data between the external memory and the local shared memory;
Comprising
Each of the local shared memories has a plurality of banks, and at least one of the plurality of processors is connected to the external bus, and the processor connected to the external bus excludes the processor. A multiprocessor signal processing apparatus for controlling the plurality of processors.
前記複数個のプロセッサのうち少なくとも1つは、ハードアクセラレータであることを特徴とする請求項4乃至6のうち何れか1つに記載のマルチプロセッサ信号処理装置。   7. The multiprocessor signal processing apparatus according to claim 4, wherein at least one of the plurality of processors is a hard accelerator.
JP2006268599A 2006-09-29 2006-09-29 Multiprocessor signal processor Pending JP2008090455A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006268599A JP2008090455A (en) 2006-09-29 2006-09-29 Multiprocessor signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006268599A JP2008090455A (en) 2006-09-29 2006-09-29 Multiprocessor signal processor

Publications (1)

Publication Number Publication Date
JP2008090455A true JP2008090455A (en) 2008-04-17

Family

ID=39374559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006268599A Pending JP2008090455A (en) 2006-09-29 2006-09-29 Multiprocessor signal processor

Country Status (1)

Country Link
JP (1) JP2008090455A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110886B2 (en) 2010-06-22 2015-08-18 Fujitsu Limited Data transfer control apparatus, data transfer control method, and computer product
WO2016070825A1 (en) * 2014-11-06 2016-05-12 Mediatek Inc. Processing system having keyword recognition sub-system with or without dma data transaction
JP2017228324A (en) * 2017-10-10 2017-12-28 キヤノン株式会社 Image processing apparatus, control method thereof, and program
US10185673B2 (en) 2015-11-12 2019-01-22 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
WO2019208566A1 (en) * 2018-04-24 2019-10-31 ArchiTek株式会社 Processor device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110886B2 (en) 2010-06-22 2015-08-18 Fujitsu Limited Data transfer control apparatus, data transfer control method, and computer product
US9734104B2 (en) 2010-06-22 2017-08-15 Fujitsu Limited Data transfer control apparatus, data transfer control method, and computer product
WO2016070825A1 (en) * 2014-11-06 2016-05-12 Mediatek Inc. Processing system having keyword recognition sub-system with or without dma data transaction
US10185673B2 (en) 2015-11-12 2019-01-22 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
US10482042B2 (en) 2015-11-12 2019-11-19 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
US10949364B2 (en) 2015-11-12 2021-03-16 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
JP2017228324A (en) * 2017-10-10 2017-12-28 キヤノン株式会社 Image processing apparatus, control method thereof, and program
WO2019208566A1 (en) * 2018-04-24 2019-10-31 ArchiTek株式会社 Processor device
JPWO2019208566A1 (en) * 2018-04-24 2021-04-08 ArchiTek株式会社 Processor device
JP7061742B2 (en) 2018-04-24 2022-05-02 ArchiTek株式会社 Processor device
US11500632B2 (en) 2018-04-24 2022-11-15 ArchiTek Corporation Processor device for executing SIMD instructions

Similar Documents

Publication Publication Date Title
JP4536618B2 (en) Reconfigurable integrated circuit device
US9043806B2 (en) Information processing device and task switching method
JPH11272631A (en) Data processing system and method therefor
JPH11296493A (en) Reconstitutable coprocessor for data processing system
JPH04172533A (en) Electronic computer
JP5131188B2 (en) Data processing device
CN110908716B (en) Method for implementing vector aggregation loading instruction
JP2008090455A (en) Multiprocessor signal processor
JP2000293371A (en) Method and device for controlling microprogram
US20220004855A1 (en) Convolution processing engine and control method, and corresponding convolutional neural network accelerator
JP2005182538A (en) Data transfer device
JP2008102599A (en) Processor
JP2016206817A (en) Electronic controller
JP2007087244A (en) Co-processor and computer system
JP2008242947A (en) Semiconductor device
WO2018138975A1 (en) Computation processing device and information processing system
JP2020140284A (en) Vector arithmetic processing device, array variable initialization method by vector arithmetic processing device, and array variable initialization program using vector arithmetic processing device
JPWO2014103235A1 (en) Arithmetic apparatus and arithmetic method
US11500632B2 (en) Processor device for executing SIMD instructions
JP2005267362A (en) Image processing method using simd processor and image processor
JP2007164250A (en) Access control circuit and information processor
JP2010079361A (en) Processor, data processing method therefor, and information processor
US20090287860A1 (en) Programmable Direct Memory Access Controller
JP4413905B2 (en) SIMD type processor
JP4703735B2 (en) Compiler, code generation method, code generation program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091006