JPWO2013080289A1 - Signal processing apparatus and signal processing method - Google Patents

Signal processing apparatus and signal processing method Download PDF

Info

Publication number
JPWO2013080289A1
JPWO2013080289A1 JP2013546871A JP2013546871A JPWO2013080289A1 JP WO2013080289 A1 JPWO2013080289 A1 JP WO2013080289A1 JP 2013546871 A JP2013546871 A JP 2013546871A JP 2013546871 A JP2013546871 A JP 2013546871A JP WO2013080289 A1 JPWO2013080289 A1 JP WO2013080289A1
Authority
JP
Japan
Prior art keywords
data
arithmetic
unit
cycle
control unit
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
JP2013546871A
Other languages
Japanese (ja)
Inventor
登 小林
登 小林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013546871A priority Critical patent/JPWO2013080289A1/en
Publication of JPWO2013080289A1 publication Critical patent/JPWO2013080289A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

信号処理装置は、演算ユニットにより実行される演算処理のタイミングを制御する演算制御ユニットと、前記演算ユニットにより前記演算処理の対象となるデータがロードできるように、該演算処理の対象となるデータを転送するためのタイミングを制御する転送制御ユニットとを有する。The signal processing device includes an arithmetic control unit that controls timing of arithmetic processing executed by the arithmetic unit, and data that is subject to the arithmetic processing so that the arithmetic processing unit can load the data subject to the arithmetic processing. A transfer control unit that controls timing for transfer.

Description

本発明は、信号処理装置に関する。   The present invention relates to a signal processing apparatus.

移動通信の分野では、次々に新たな通信方式が標準化されて実用化されている。新たな通信方式が実用化される際には、現状の通信方式から、新たな通信方式に徐々に切り替えられる。従って、現状の通信方式から、新たな通信方式への移行期においては、一つの携帯端末で複数の通信方式をサポートすることが行われる場合もある。   In the field of mobile communication, new communication methods are standardized one after another and put into practical use. When a new communication method is put into practical use, the current communication method is gradually switched to a new communication method. Therefore, in a transition period from the current communication method to a new communication method, a plurality of communication methods may be supported by one mobile terminal.

一つの携帯端末で複数の通信方式をサポートする場合に、通信方式毎に専用のハードウェアを用意することが考えられる。しかし、通信方式毎に専用のハードウェアを用意する方法では、携帯端末の回路規模が大きくなる。携帯端末の回路規模が大きくなると、コストの増加や消費電力の増加などの問題が生じるおそれがある。   When a plurality of communication methods are supported by one mobile terminal, it is conceivable to prepare dedicated hardware for each communication method. However, the method of preparing dedicated hardware for each communication method increases the circuit scale of the mobile terminal. If the circuit scale of the mobile terminal increases, problems such as an increase in cost and an increase in power consumption may occur.

また、標準化規格が更新された場合には、更新された規格に、携帯端末を柔軟に対応させることが必要である。通信方式毎に専用のハードウェアを用意する方法では、更新された規格に迅速に対応できない。   In addition, when the standardization standard is updated, it is necessary to make the mobile terminal flexibly correspond to the updated standard. The method of preparing dedicated hardware for each communication method cannot quickly respond to the updated standard.

以上の理由から、一つの携帯端末で複数の通信方式をサポートすることを、ソフトウェアデファインドラジオ(SDR: Software Defined Radio)で実現することが望まれている。ソフトウェアデファインドラジオは、通信方式の実装をソフトウェアで行うことである。具体的には、無線処理をプロセッサのプログラムや書き換え可能ロジック等を使用して実現できるように無線機を構成する。ソフトウェアデファインドラジオで実現することにより、ハードウェアに変更を加えることなく、ソフトウェアを変更することによって、通信方式を切り替えることが可能である。   For the above reasons, it is desired to support a plurality of communication schemes with a single mobile terminal using software-defined radio (SDR). Software-defined radio is a software implementation of a communication method. Specifically, the wireless device is configured such that wireless processing can be realized using a processor program, rewritable logic, or the like. By realizing the software defined radio, it is possible to switch the communication method by changing the software without changing the hardware.

ソフトウェアで無線機(ラジオ)を実現する方法には、プロセッサを用いる方法やリコンフィギャラブルハードウェアを用いる方法などがある。ソフトウェアで無線機を実現する際には、開発手法が一般的であるプロセッサで実現する方が容易であるため、プロセッサを用いる方法が主流になっている。リコンフィギャラブルハードウェアを用いることにより、実行時にハードウェアの構成が動的に組み替えられる。   As a method for realizing a radio (radio) by software, there are a method using a processor and a method using reconfigurable hardware. When implementing a wireless device with software, it is easier to implement with a processor whose development method is general, and therefore, a method using a processor has become the mainstream. By using reconfigurable hardware, the hardware configuration is dynamically reconfigured at runtime.

一方、近年の無線通信方式が要求する伝送レートは非常に高くなっている。伝送レートの高レート化に伴い、携帯端末に要求される演算処理性能も非常に高くなっている。近年の無線通信方式には、LTE(Long Term Evolution)方式に代表される、OFDM(Orthogonal Frequency Division Multiplex)方式を採用する無線通信方式が含まれる。OFDM方式を採用する無線通信方式では、周波数方向及び時間方向に展開された無線リソースを多数用意することで、全体としての伝送レートを向上させる。   On the other hand, the transmission rate required by recent wireless communication systems is very high. As the transmission rate is increased, the arithmetic processing performance required for the portable terminal is also very high. Recent wireless communication systems include a wireless communication system that employs an OFDM (Orthogonal Frequency Division Multiplex) system, represented by the LTE (Long Term Evolution) system. In a wireless communication system employing the OFDM system, a large number of wireless resources deployed in the frequency direction and the time direction are prepared, thereby improving the overall transmission rate.

OFDM方式のような無線通信方式を実現する処理には、複雑な制御は殆ど必要なく、単純な処理の繰返しを効率よく実行できる構成が適している。ここで、複雑な制御には、演算結果を利用した分岐処理等が含まれる。   A process that realizes a wireless communication system such as the OFDM system requires almost no complicated control, and a configuration capable of efficiently executing simple process repetition is suitable. Here, the complicated control includes branch processing using the calculation result.

また、演算性能を向上させる一方法として、複数の命令を結合して、語長の長い一命令に構成し、同時に実行するようにした方法がある。例えば、VLIW(Very Long Instruction Word)を利用した技術が挙げられる。VLIWは、プロセッサのアーキテクチャの一種であり、複数の機能を用意し、各機能を動作させる命令を一つの命令に結合して、語長の長い一命令として実行する方式である。   Further, as one method for improving the calculation performance, there is a method in which a plurality of instructions are combined into one instruction having a long word length and executed simultaneously. For example, there is a technique using VLIW (Very Long Instruction Word). VLIW is a type of processor architecture, and is a method in which a plurality of functions are prepared and instructions for operating each function are combined into one instruction and executed as one instruction having a long word length.

信号処理装置に関して、演算器の並列度を高めても、急激な回路規模の増大を抑えることができるものが知られている(例えば、特許文献1参照)。   Regarding a signal processing device, there is known a signal processing device that can suppress a rapid increase in circuit scale even if the degree of parallelism of arithmetic units is increased (see, for example, Patent Document 1).

特開2011−141791号公報JP 2011-141791 A

VLIWを利用した方法では、結合された複数の命令に直接的な因果関係がない場合が多い。VLIWを利用した方法では、結合された複数の命令が略同時に実行されようとする結果、ある命令の実行が、該ある命令と因果関係のない他の命令によって生じるストールにより阻害されるという問題がある。ストールとは、何らかの要因で処理が停止することをいう。例えば、プロセッサのサイクル時間とメモリのサイクル時間とが異なる場合に、早いサイクル時間のデバイスの動作が停止(ストール)することがある。プロセッサのサイクル時間よりもメモリのサイクル時間の方が遅い場合には、プロセッサの動作が停止する。   In the method using VLIW, there are many cases where there is no direct causal relationship between a plurality of combined instructions. In the method using the VLIW, there is a problem that execution of a certain instruction is hindered by a stall caused by another instruction not having a causal relationship with the certain instruction as a result of the combined instructions being executed almost simultaneously. is there. Stall means that the process is stopped for some reason. For example, when the cycle time of the processor is different from the cycle time of the memory, the operation of the device having an early cycle time may stop (stall). If the memory cycle time is slower than the processor cycle time, the processor operation stops.

具体的には、ロード(LOAD)命令と演算(OPERATION)命令とが略同時に実行され、ロード命令がストールすると、該ストールの影響を受けて演算命令もストールする。   Specifically, a load (LOAD) instruction and an operation (OPERATION) instruction are executed substantially simultaneously, and when the load instruction is stalled, the operation instruction is also stalled under the influence of the stall.

図1は、VLIWを利用した処理のタイムチャートの一例を示す。図1において、横軸は時間を表す。例えば、横軸は「サイクル」により表される。図1では、各サイクルに対応して、(1)−(10)が付される。図1には、オペレーション1−1(OP1−1)の実行に、ロードされたデータが利用される場合について示す。つまり、オペレーション1−2(OP1−2)、オペレーション1−3(OP1−3)の実行には、ロードされたデータは直接的には利用されない。   FIG. 1 shows an example of a time chart of processing using VLIW. In FIG. 1, the horizontal axis represents time. For example, the horizontal axis is represented by “cycle”. In FIG. 1, (1) to (10) are attached corresponding to each cycle. FIG. 1 shows a case where the loaded data is used to execute the operation 1-1 (OP1-1). That is, the loaded data is not directly used for the execution of the operation 1-2 (OP1-2) and the operation 1-3 (OP1-3).

サイクル(1)では、データ1(data1)をロードする処理が実行される(LD1)。   In cycle (1), a process of loading data 1 (data1) is executed (LD1).

サイクル(2)では、サイクル(1)でロードされたデータ1を利用して、オペレーション1−1が実行される。   In cycle (2), operation 1-1 is executed using data 1 loaded in cycle (1).

サイクル(3)では、オペレーション1−2が実行される。   In cycle (3), operation 1-2 is executed.

サイクル(4)では、データ2(data2)をロードする処理が実行されるとともに(LD2)、オペレーション1−3が実行される。   In cycle (4), a process of loading data 2 (data2) is executed (LD2) and operation 1-3 is executed.

サイクル(5)では、サイクル(4)でロードされたデータ2を利用して、オペレーション1−1が実行される。   In cycle (5), operation 1-1 is executed using data 2 loaded in cycle (4).

サイクル(6)では、オペレーション1−2が実行される。   In cycle (6), operation 1-2 is executed.

サイクル(7)では、データ3(data3)をロードする処理が実行されるとともに(LD3)、オペレーション1−3が実行される。   In cycle (7), the process of loading data 3 (data3) is executed (LD3), and operation 1-3 is executed.

サイクル(8)では、サイクル(7)でロードされたデータ3を利用して、オペレーション1−1が実行される。   In cycle (8), operation 1-1 is executed using data 3 loaded in cycle (7).

サイクル(9)では、オペレーション1−2が実行される。   In cycle (9), operation 1-2 is executed.

サイクル(10)では、データ4をロードする処理が実行されるとともに(LD4)、オペレーション1−3が実行される。   In cycle (10), the process of loading data 4 is executed (LD4), and operation 1-3 is executed.

図1に示される例では、ロード処理、演算処理ともに、一サイクルで実行される。図1では、ストールは発生しない。   In the example shown in FIG. 1, both the load process and the arithmetic process are executed in one cycle. In FIG. 1, no stall occurs.

図2は、VLIWを利用した処理のタイムチャートの一例(その2)を示す。図2において、横軸は時間を表す。例えば、横軸は「サイクル」により表される。図2では、各サイクルに対応して、(1)−(14)が付される。図2には、オペレーション1−1(OP1−1)の実行に、ロードされたデータが利用される場合について示す。つまり、オペレーション1−2(OP1−2)、オペレーション1−3(OP1−3)が実行される際には、ロードされたデータは直接的には利用されない。   FIG. 2 shows an example (part 2) of a time chart of processing using VLIW. In FIG. 2, the horizontal axis represents time. For example, the horizontal axis is represented by “cycle”. In FIG. 2, (1)-(14) are attached corresponding to each cycle. FIG. 2 shows a case where the loaded data is used to execute the operation 1-1 (OP1-1). That is, when operation 1-2 (OP1-2) and operation 1-3 (OP1-3) are executed, the loaded data is not directly used.

サイクル(1)、サイクル(2)では、2サイクルでデータのロードが実行される(LD1)。データのロードが実行される2サイクルの前半の1サイクルの間でストールが発生している。つまり、メモリからデータを読み出す際に、1サイクルのストールが発生する。   In cycle (1) and cycle (2), data loading is executed in two cycles (LD1). A stall occurs during one cycle of the first half of the two cycles in which data loading is executed. That is, one cycle stall occurs when reading data from the memory.

サイクル(3)では、サイクル(2)で読み出されたデータ1(data1)を利用して、オペレーション1−1が実行される。   In cycle (3), operation 1-1 is executed using data 1 (data1) read in cycle (2).

サイクル(4)では、オペレーション1−2が実行される。   In cycle (4), operation 1-2 is executed.

サイクル(5)、サイクル(6)では、2サイクルでデータのロードが実行される(LD2)。さらに、サイクル(5)、サイクル(6)では、2サイクルで、オペレーション1−3が実行される。しかし、データのロードが実行される2サイクルの前半の1サイクルの間でストールが発生しているため、オペレーション1−3が実行される2サイクルの前半の1サイクルの間でストールが発生している。本来、演算命令は、必要なデータがそろっている場合には、1サイクルで実行可能である。しかし、データのロードの際に発生するストールの影響により、オペレーション1−3でもストールが発生し2サイクルとなっている。   In cycle (5) and cycle (6), data loading is executed in two cycles (LD2). Further, in cycle (5) and cycle (6), operation 1-3 is executed in two cycles. However, a stall has occurred during the first half of the two cycles in which data loading is executed, so a stall has occurred during the first half of the two cycles in which operation 1-3 is executed. Yes. Basically, an operation instruction can be executed in one cycle when necessary data is available. However, due to the influence of a stall that occurs when data is loaded, a stall also occurs in operation 1-3, resulting in two cycles.

サイクル(7)では、サイクル(6)で読み出されたデータ2を利用して、オペレーション1−1が実行される。   In cycle (7), operation 1-1 is executed using data 2 read in cycle (6).

サイクル(8)では、オペレーション1−2が実行される。   In cycle (8), operation 1-2 is executed.

サイクル(9)、サイクル(10)では、2サイクルでデータのロードが実行される(LD3)。さらに、サイクル(9)、サイクル(10)では、2サイクルで、オペレーション1−3が実行される。しかし、データのロードが実行される2サイクルの前半の1サイクルの間でストールが発生しているため、オペレーション1−3が実行される2サイクルの前半の1サイクルの間でストールが発生している。   In cycle (9) and cycle (10), data loading is executed in two cycles (LD3). Further, in cycle (9) and cycle (10), operation 1-3 is executed in two cycles. However, a stall has occurred during the first half of the two cycles in which data loading is executed, so a stall has occurred during the first half of the two cycles in which operation 1-3 is executed. Yes.

サイクル(11)では、サイクル(10)で読み出されたデータ3を利用して、オペレーション1−1が実行される。   In cycle (11), operation 1-1 is executed using data 3 read in cycle (10).

サイクル(12)では、オペレーション1−2が実行される。   In the cycle (12), the operation 1-2 is executed.

サイクル(13)、サイクル(14)では、2サイクルでデータのロードが実行される(LD4)。さらに、サイクル(13)、サイクル(14)では、2サイクルで、オペレーション1−3が実行される。しかし、データのロードが実行される2サイクルの前半の1サイクルの間でストールが発生しているため、オペレーション1−3が実行される2サイクルの前半の1サイクルの間でストールが発生している。   In cycle (13) and cycle (14), data loading is executed in two cycles (LD4). Further, in cycle (13) and cycle (14), operation 1-3 is executed in two cycles. However, a stall has occurred during the first half of the two cycles in which data loading is executed, so a stall has occurred during the first half of the two cycles in which operation 1-3 is executed. Yes.

図2に示される例では、ロード命令によりロードされたデータが、続いて実行されるロード命令により上書きされる前に、該データを利用した演算命令が実行されるようにプログラムを記述する必要がある。具体的には、サイクル(2)でロードされたデータが、サイクル(6)でロードされるデータにより上書きされる前に、サイクル(2)でロードされたデータを利用した演算命令が実行される必要がある。つまり、転送命令、演算命令が実行されるタイミングを厳密に定義する必要がある。転送命令、演算命令は互いに影響を及ぼし合うためである。図2に示される例では、ストールが頻繁に発生し得るため、ストールの発生を回避するようにプログラムを記述するのは難しい。   In the example shown in FIG. 2, before the data loaded by the load instruction is overwritten by the subsequent load instruction, it is necessary to describe the program so that the operation instruction using the data is executed. is there. Specifically, before the data loaded in cycle (2) is overwritten by the data loaded in cycle (6), an arithmetic instruction using the data loaded in cycle (2) is executed. There is a need. That is, it is necessary to strictly define the timing at which transfer instructions and arithmetic instructions are executed. This is because the transfer instruction and the operation instruction influence each other. In the example shown in FIG. 2, stalls can occur frequently, so it is difficult to write a program so as to avoid the occurrence of stalls.

また、ストールが発生することにより演算効率が低下すると、同じ処理量を実現するために多くのハードウェアが必要になる。多くのハードウェアが用いられると、回路規模や消費電力が大きくなるという問題が発生する。   Further, if the calculation efficiency decreases due to the occurrence of a stall, a lot of hardware is required to realize the same processing amount. When a lot of hardware is used, there arises a problem that the circuit scale and power consumption increase.

開示の信号処理装置は、ロード命令と演算命令とを独立して制御することを目的とする。   It is an object of the disclosed signal processing apparatus to independently control a load instruction and an operation instruction.

開示の一実施例の信号処理装置は、
演算ユニットにより実行される演算処理のタイミングを制御する演算制御ユニットと、
前記演算ユニットにより前記演算処理の対象となるデータがロードできるように、該演算処理の対象となるデータを転送するためのタイミングを制御する転送制御ユニットと
を有する。
A signal processing apparatus according to an embodiment of the disclosure includes:
An arithmetic control unit that controls the timing of arithmetic processing executed by the arithmetic unit;
A transfer control unit that controls timing for transferring the data to be subjected to the arithmetic processing so that the data to be subject to the arithmetic processing can be loaded by the arithmetic unit.

開示の信号処理装置によれば、ロード命令と演算命令とを独立して制御することができる。   According to the disclosed signal processing apparatus, the load instruction and the operation instruction can be controlled independently.

VLIWを利用した処理のタイムチャートの一例を示す。An example of the time chart of the process using VLIW is shown. VLIWを利用した処理のタイムチャートの一例を示す。An example of the time chart of the process using VLIW is shown. 携帯端末の一実施例を示す図である。It is a figure which shows one Example of a portable terminal. 復調部の一実施例を示す図である。It is a figure which shows one Example of a demodulation part. 信号処理装置の一実施例を示す図である。It is a figure which shows one Example of a signal processing apparatus. 信号処理装置の動作の一実施例を示すタイムチャート(その1)である。It is a time chart (the 1) which shows one Example of operation | movement of a signal processing apparatus. 信号処理装置の動作の一実施例を示すタイムチャート(その2)である。It is a time chart (the 2) which shows one Example of operation | movement of a signal processing apparatus. 信号処理装置の動作の一例を示すタイムチャートである。It is a time chart which shows an example of operation | movement of a signal processing apparatus. 信号処理装置の動作の一実施例を示すフローチャートである。It is a flowchart which shows one Example of operation | movement of a signal processing apparatus. 信号処理装置の動作の一実施例を示すフローチャートである。It is a flowchart which shows one Example of operation | movement of a signal processing apparatus. 信号処理装置の一実施例による効果を示す図である。It is a figure which shows the effect by one Example of a signal processing apparatus. 信号処理装置の一変形例を示す図である。It is a figure which shows the modification of a signal processing apparatus.

100 携帯端末
102 無線部
104 L1処理部
106 L2処理部
108 通信制御CPU
110 アプリケーションCPU
112 ユーザインターフェース回路
142 復調部
144 復号化部
146 符号化部
148 変調部
202 RFインターフェース
204 バスインターフェース
206−206 DSP
208−208 アクセラレータ
210 メモリ
212 バス
302 転送制御ユニット
304 データ転送ユニット
306 入力側一時記憶ユニット
308 出力側一時記憶ユニット
310 演算制御ユニット
312 演算ユニット
314 転送シーケンサ
316 演算シーケンサ
318 DMA転送制御ユニット
DESCRIPTION OF SYMBOLS 100 Portable terminal 102 Radio | wireless part 104 L1 process part 106 L2 process part 108 Communication control CPU
110 Application CPU
112 User Interface Circuit 142 Demodulator 144 Decoder 146 Encoder 148 Modulator 202 RF Interface 204 Bus Interface 206 1 -206 3 DSP
208 1 -208 2 Accelerator 210 Memory 212 Bus 302 Transfer control unit 304 Data transfer unit 306 Input side temporary storage unit 308 Output side temporary storage unit 310 Operation control unit 312 Operation unit 314 Transfer sequencer 316 Operation sequencer 318 DMA transfer control unit

以下、図面に基づいて、実施例を説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
Embodiments will be described below with reference to the drawings.
In all the drawings for explaining the embodiments, the same reference numerals are used for those having the same function, and repeated explanation is omitted.

<携帯端末100>
図3は、携帯端末100の一実施例を示す。図1には、主に、ハードウェア構成が示される。
<Mobile terminal 100>
FIG. 3 shows an embodiment of the mobile terminal 100. FIG. 1 mainly shows a hardware configuration.

携帯端末100は、無線部102と、L1処理部104と、L2処理部106と、通信制御CPU108と、アプリケーションCPU110と、ユーザインターフェース回路112とを有する。   The portable terminal 100 includes a wireless unit 102, an L1 processing unit 104, an L2 processing unit 106, a communication control CPU 108, an application CPU 110, and a user interface circuit 112.

無線部102は、L1処理部104からの変調波を高周波信号に変換する。無線部102は、高周波信号を電力増幅器により増幅し、アンテナから送信する。また、無線部102は、アンテナからの無線信号を増幅し、L1処理部104に入力する。   The radio unit 102 converts the modulated wave from the L1 processing unit 104 into a high frequency signal. The radio unit 102 amplifies the high frequency signal with a power amplifier and transmits it from the antenna. The radio unit 102 amplifies a radio signal from the antenna and inputs the amplified signal to the L1 processing unit 104.

L1処理部104は、無線部102と接続される。L1処理部104は、無線信号に関する処理、つまり物理層に関する処理を行う。L1処理部104は、無線部102からの信号を復調する復調部142を有する。L1処理部104は、復調部142により復調された信号を復号する復号化部144を有する。復号化部144により復号された信号は、L2制御部106に入力される。また、L1処理部104は、送信データの符号化処理を行う符号化部146を有する。L1処理部104は、符号化部146により符号化された送信データの変調処理を行う変調部148を有する。変調部148により変調された信号は、無線部102に入力される。   The L1 processing unit 104 is connected to the wireless unit 102. The L1 processing unit 104 performs processing related to a radio signal, that is, processing related to the physical layer. The L1 processing unit 104 includes a demodulation unit 142 that demodulates a signal from the wireless unit 102. The L1 processing unit 104 includes a decoding unit 144 that decodes the signal demodulated by the demodulation unit 142. The signal decoded by the decoding unit 144 is input to the L2 control unit 106. The L1 processing unit 104 also includes an encoding unit 146 that performs encoding processing of transmission data. The L1 processing unit 104 includes a modulation unit 148 that performs modulation processing on the transmission data encoded by the encoding unit 146. The signal modulated by the modulation unit 148 is input to the radio unit 102.

L2処理部106は、L1処理部104と接続される。L2処理部106は、基地局(図示無し)との間で、レイヤー2に関する処理を行う。レイヤー2は、レイヤー3に、論理チャネルの伝送サービスを提供する。論理チャネルは、制御チャネル(CCH: Control Channel)とトラヒックチャネル(TCH: Traffic Channel)から構成される。これらのチャネルの伝送は、RLC(Radio Link Control)副層およびMAC(Medium Access Control)副層の機能により実現される。RLC副層は、上位層に、透過型伝送、非送達確認型伝送、送達確認型伝送、伝送品質設定等のサービスを提供する。MAC副層は、上位層に、論理チャネルのトランスポートチャネルへのマッピング、優先制御、フロー制御、流量監視とRRC(Radio Resource Control)への報告等のサービスを提供する。   The L2 processing unit 106 is connected to the L1 processing unit 104. The L2 processing unit 106 performs processing related to layer 2 with a base station (not shown). Layer 2 provides layer 3 with a logical channel transmission service. A logical channel is comprised from a control channel (CCH: Control Channel) and a traffic channel (TCH: Traffic Channel). Transmission of these channels is realized by functions of an RLC (Radio Link Control) sublayer and a MAC (Medium Access Control) sublayer. The RLC sublayer provides services such as transmission transmission, non-delivery confirmation transmission, delivery confirmation transmission, and transmission quality setting to the upper layer. The MAC sublayer provides services such as mapping of logical channels to transport channels, priority control, flow control, flow rate monitoring, and reporting to RRC (Radio Resource Control) to the upper layer.

通信制御CPU108は、L2処理部106と接続される。通信制御CPU108は、制御信号の送受信などの通信制御を行う。   The communication control CPU 108 is connected to the L2 processing unit 106. The communication control CPU 108 performs communication control such as transmission / reception of control signals.

アプリケーションCPU110は、通信制御CPU108と接続される。アプリケーションCPU110は、携帯端末100に搭載されたアプリケーションを処理する。   Application CPU 110 is connected to communication control CPU 108. The application CPU 110 processes an application installed in the mobile terminal 100.

ユーザインターフェース回路112は、アプリケーションCPU110と接続される。ユーザインターフェース回路112は、ユーザに対して、情報を出力する。ユーザインターフェース回路112からは、アプリケーションCPU110による処理結果が出力されてもよい。   The user interface circuit 112 is connected to the application CPU 110. The user interface circuit 112 outputs information to the user. From the user interface circuit 112, the processing result by the application CPU 110 may be output.

携帯端末100の一実施例では、L1制御部104は、複数の無線通信方式に対応できるようにするために、ソフトウェアデファインドラジオで実現される。L1制御部104は、複数の機能を有する。図3には、複数の機能の例として、復調部142、復号化部144、符号化部146、変調部148が示される。他の機能が含まれてもよいし、図3に示される複数の機能のいずれかが含まれてもよい。各機能は、1又は複数のプロセッサにより実行される。具体的には、ソフトウェアデファインドラジオで実現するために、L1制御部104は、DSP(Digital Signal Processor)、アクセラレータ、メモリなどを含む。   In one embodiment of the portable terminal 100, the L1 control unit 104 is realized by software-defined radio so as to be compatible with a plurality of wireless communication schemes. The L1 control unit 104 has a plurality of functions. FIG. 3 shows a demodulator 142, a decoder 144, an encoder 146, and a modulator 148 as examples of a plurality of functions. Other functions may be included, and any of a plurality of functions illustrated in FIG. 3 may be included. Each function is executed by one or more processors. Specifically, the L1 control unit 104 includes a DSP (Digital Signal Processor), an accelerator, a memory, and the like in order to be realized by software-defined radio.

図4は、L1制御部104の復調部142の一実施例を示す。図4には、ハードウェア構成が主に示される。   FIG. 4 shows an embodiment of the demodulator 142 of the L1 controller 104. FIG. 4 mainly shows the hardware configuration.

復調部142は、RFインターフェース202と、バスインターフェース204と、DSP206−206と、アクセラレータ208−208と、メモリ210とを有する。RFインターフェース202、バスインターフェース204、DSP206−206、アクセラレータ208−208、及びメモリ210は、バス212を介して互いに接続される。図4には、復調部142に、3個のDSPが含まれる例が示されるが、DSPは、1、2個でもよいし、4個以上でもよい。また、図4には、復調部142に、2個のアクセラレータが含まれる例が示されるが、アクセラレータは、1個でもよいし、3個以上でもよい。The demodulator 142 includes an RF interface 202, a bus interface 204, DSPs 206 1 -206 3 , accelerators 208 1 -208 2, and a memory 210. The RF interface 202, the bus interface 204, the DSPs 206 1 to 206 3 , the accelerators 208 1 to 208 2 , and the memory 210 are connected to each other via the bus 212. FIG. 4 shows an example in which the demodulation unit 142 includes three DSPs, but the number of DSPs may be one, two, or four or more. 4 shows an example in which the demodulator 142 includes two accelerators, the number of accelerators may be one or three or more.

L1処理部104の回路規模は、各部に含まれるプロセッサの数により影響される。プロセッサの演算性能を向上させることにより、各部に含まれるプロセッサの数を減少させることができる。各部に含まれるプロセッサの数が減少することにより、L1処理部104の回路規模を小さくできる。   The circuit scale of the L1 processing unit 104 is affected by the number of processors included in each unit. By improving the calculation performance of the processor, the number of processors included in each unit can be reduced. By reducing the number of processors included in each unit, the circuit scale of the L1 processing unit 104 can be reduced.

変調部148についても、復調部142と略同一のハードウェア構成で実現されてもよい。復号化部144、符号化部146についても、復調部142と略同一のハードウェア構成で実現されてもよい。但し、RFインターフェース202の代わりに、バスインターフェース204を有するようにしてもよい。   The modulation unit 148 may also be realized with substantially the same hardware configuration as the demodulation unit 142. The decoding unit 144 and the encoding unit 146 may also be realized with substantially the same hardware configuration as the demodulation unit 142. However, the bus interface 204 may be provided instead of the RF interface 202.

RFインターフェース202は、復調部142と無線部102との間のインターフェースである。   The RF interface 202 is an interface between the demodulation unit 142 and the wireless unit 102.

バスインターフェース204は、復調部142と符号化部144との間のインターフェースである。   The bus interface 204 is an interface between the demodulation unit 142 and the encoding unit 144.

DSP206−206は、無線部102からの信号を処理する。つまり、DSP206−206は、無線部102からの信号を復調する処理を実行する。以下、DSP206−206は、信号処理装置と呼ばれることもある。無線部102からの信号を復調する処理を実行する際に、全てのDSPにより処理を分担して実行するようにしてもよいし、一部のDSPにより実行されてもよい。The DSPs 206 1 -206 3 process signals from the wireless unit 102. That is, the DSPs 206 1 to 206 3 execute processing for demodulating the signal from the wireless unit 102. Hereinafter, the DSPs 206 1 to 206 3 may be referred to as signal processing devices. When executing the process of demodulating the signal from the wireless unit 102, the process may be shared and executed by all the DSPs, or may be executed by some DSPs.

アクセラレータ208−208は、DSP206−206の処理能力を向上させる。DSP206−206の処理能力によっては、必ずしもアクセラレータ208−208は必要ない。The accelerators 208 1 -208 2 improve the processing capabilities of the DSPs 206 1 -206 3 . Depending on the processing capabilities of the DSPs 206 1 -206 3 , the accelerators 208 1 -208 2 are not necessarily required.

メモリ210は、無線部102からの信号を一時的に格納する。   The memory 210 temporarily stores a signal from the wireless unit 102.

<信号処理装置>
図5は、信号処理装置の機能の一実施例を示す。図5には、信号処理装置の一実施例として、DSP206−206の機能の一実施例を示す。
<Signal processing device>
FIG. 5 shows an embodiment of the function of the signal processing device. FIG. 5 shows an embodiment of the functions of the DSPs 206 1 to 206 3 as an embodiment of the signal processing apparatus.

DSP206−206は、略同一の機能ブロック図により表されるため、図3では、代表して、DSP206について説明する。Since the DSPs 206 1 to 206 3 are represented by substantially the same functional block diagrams, the DSP 206 1 will be described as a representative in FIG.

DSP206は、転送制御ユニット302と、データ転送ユニット304と、入力側一時記憶ユニット306と、出力側一時記憶ユニット308と、演算制御ユニット310と、演算ユニット312と、転送シーケンサ314と、演算シーケンサ316とを有する。The DSP 206 1 includes a transfer control unit 302, a data transfer unit 304, an input-side temporary storage unit 306, an output-side temporary storage unit 308, an operation control unit 310, an operation unit 312, a transfer sequencer 314, and an operation sequencer. 316.

転送制御ユニット302は、入力側一時記憶ユニット306へ、必要に応じてメモリ210に格納されたデータを書き込む制御を行う。また、転送制御ユニット302は、復号化部144へ、出力側一時記憶ユニット308に書き込まれたデータを転送する制御を行う。出力側一時記憶ユニット306に書き込まれるデータには、演算ユニット312により処理されたデータが含まれる。転送制御ユニット302は、バス212、バスインターフェース204を介して、符号化部144へ、データを転送する制御を行うようにしてもよい。また、転送制御ユニット302は、メモリ210へ、データを転送する制御を行うようにしてもよい。   The transfer control unit 302 performs control to write the data stored in the memory 210 to the input side temporary storage unit 306 as necessary. In addition, the transfer control unit 302 performs control to transfer the data written in the output side temporary storage unit 308 to the decryption unit 144. The data written in the output side temporary storage unit 306 includes data processed by the arithmetic unit 312. The transfer control unit 302 may perform control to transfer data to the encoding unit 144 via the bus 212 and the bus interface 204. Further, the transfer control unit 302 may perform control to transfer data to the memory 210.

具体的には、転送制御ユニット302は、復調処理のためのプログラムを実行することにより起動する転送シーケンサ314により発行された命令に従って、上述したデータを転送する処理を行う。例えば、転送シーケンサ314は、プログラムメモリに格納された命令を順次取り出して、転送制御ユニット302へ、命令を発行する。転送シーケンサ314は、現在実行しているプログラムメモリ上のアドレスを記憶する。転送シーケンサ314は、現在実行しているプログラムメモリ上のアドレスを記憶するためにレジスタを利用してもよい。   Specifically, the transfer control unit 302 performs the process of transferring the above-described data in accordance with an instruction issued by the transfer sequencer 314 that is activated by executing a program for demodulation processing. For example, the transfer sequencer 314 sequentially takes out the instructions stored in the program memory and issues the instructions to the transfer control unit 302. The transfer sequencer 314 stores an address on the currently executing program memory. The transfer sequencer 314 may use a register to store an address on the currently executing program memory.

転送制御ユニット302は、転送シーケンサ314からの命令に従って、メモリ210へのアクセスを開始する。転送制御ユニット302は、メモリ210へアクセスを開始する際に、アクセスすることを表す情報を出力する。該アクセスすることを表す情報に対する応答として、メモリ210は、当該メモリ210がアクセス可能であるか否かを表す情報により応答する。アクセス可能であるか否かを表す情報には、メモリ210からデータを読み出し可能であるか否かを表す情報が含まれる。また、アクセス可能であるか否かを表す情報には、メモリ210へ、書き込み可能であるか否かを表す情報が含まれてもよい。転送制御ユニット302は、メモリ210からのアクセス可能であるか否かを表す信号に基づいて、アクセス可能である場合には、データ転送ユニット304を制御することにより、演算ユニット312へ、メモリ210から読み出したデータを転送する。この場合、必要に応じて、入力側一時記憶ユニット306に、メモリ210から読み出したデータが記憶された後に、演算ユニット312へ転送される。   The transfer control unit 302 starts access to the memory 210 in accordance with an instruction from the transfer sequencer 314. When the transfer control unit 302 starts access to the memory 210, the transfer control unit 302 outputs information indicating access. As a response to the information indicating access, the memory 210 responds with information indicating whether or not the memory 210 is accessible. The information indicating whether access is possible includes information indicating whether data can be read from the memory 210. Further, the information indicating whether or not access is possible may include information indicating whether or not writing to the memory 210 is possible. The transfer control unit 302 controls the data transfer unit 304 to control the arithmetic unit 312 from the memory 210 when it is accessible based on a signal indicating whether or not the memory 210 is accessible. Transfer the read data. In this case, if necessary, data read from the memory 210 is stored in the input-side temporary storage unit 306 and then transferred to the arithmetic unit 312.

例えば、VLIWを利用して処理が行われる場合には、転送制御ユニット302は、一つの機能を有する処理を一つの命令として扱う。転送制御ユニット302は、複数の命令を束ねて長い一命令として実行する。命令には、メモリ210からデータを読み出す「ロード」、メモリ210にデータを書き込む「ストア」、メモリ210から読み出されたデータの演算を行う「演算」、「分岐」等が含まれる。転送制御ユニット302は、これらの各ジャンルの命令を結合して一つの長い命令を作成する。具体的には、転送制御ユニット302は、これらの各ジャンルの命令のうち、「ロード」と、「ストア」とを結合して一つの命令を作成するようにしてもよい。   For example, when processing is performed using VLIW, the transfer control unit 302 handles processing having one function as one instruction. The transfer control unit 302 bundles a plurality of instructions and executes them as one long instruction. The instructions include “load” for reading data from the memory 210, “store” for writing data to the memory 210, “calculation” for calculating data read from the memory 210, “branch”, and the like. The transfer control unit 302 combines these genre commands to create one long command. Specifically, the transfer control unit 302 may create one instruction by combining “load” and “store” among these genre instructions.

命令を結合して一つの長い命令を作成することにより、一つの命令で複数の処理を実行できる。一つの命令で複数の処理を実行できるため、処理性能を向上させることができる。処理性能を向上させることができるため、処理のためのプロセッサを減少させることができる。但し、ジャンル分けされた処理の実行タイミング等が違っている場合もあり、通常1つの命令に含まれる命令が互いに関係している訳ではない。つまり、結合された命令中のロード命令によりロードされたデータは、同じ命令中の演算命令では使用されない場合もある。   By combining instructions to create one long instruction, multiple processes can be executed with one instruction. Since a plurality of processes can be executed with one instruction, the processing performance can be improved. Since the processing performance can be improved, the number of processors for processing can be reduced. However, there are cases where the execution timings of processes classified by genre are different, and the instructions included in one instruction are not usually related to each other. In other words, the data loaded by the load instruction in the combined instruction may not be used in the operation instruction in the same instruction.

データ転送ユニット304は、転送制御ユニット302と、バス212と接続される。データ転送ユニット304は、演算ユニット312へ、メモリ210から読み出したデータを入力する処理を行う。データ転送ユニット304は、転送制御ユニット302による制御に従って、入力側一時記憶ユニット306へ、メモリ210から読み出したデータを書き込む処理を行う。また、データ転送ユニット304は、転送制御ユニット302による制御に従って、バス212に、出力側一時記憶ユニット308に書き込まれたデータを転送する処理を行う。出力側一時記憶ユニット308に書き込まれたデータには、演算ユニット312により処理されたデータが含まれる。データ転送ユニット304は、バス212、バスインターフェース204を介して、符号化部144に、データを転送する。   The data transfer unit 304 is connected to the transfer control unit 302 and the bus 212. The data transfer unit 304 performs processing for inputting the data read from the memory 210 to the arithmetic unit 312. The data transfer unit 304 performs processing for writing the data read from the memory 210 to the input-side temporary storage unit 306 in accordance with control by the transfer control unit 302. Further, the data transfer unit 304 performs processing for transferring the data written in the output side temporary storage unit 308 to the bus 212 in accordance with control by the transfer control unit 302. The data written in the output-side temporary storage unit 308 includes data processed by the arithmetic unit 312. The data transfer unit 304 transfers data to the encoding unit 144 via the bus 212 and the bus interface 204.

入力側一時記憶ユニット306は、データ転送ユニット304と接続される。入力側一時記憶ユニット306は、データ転送ユニット304からのデータを一時的に格納する。   The input side temporary storage unit 306 is connected to the data transfer unit 304. The input side temporary storage unit 306 temporarily stores data from the data transfer unit 304.

出力側一時記憶ユニット308は、データ転送ユニット304と接続される。出力側一時記憶ユニット308は、演算ユニット312からのデータを一時的に格納する。   The output side temporary storage unit 308 is connected to the data transfer unit 304. The output side temporary storage unit 308 temporarily stores data from the arithmetic unit 312.

演算制御ユニット310は、演算ユニット312により実行される演算処理の制御を行う。例えば、演算制御ユニット310は、復調処理のための行列演算に関する制御を行う。例えば、演算制御ユニット310は、演算ユニット312を制御することにより、データ転送ユニット304からのデータに対して、演算処理を行う制御を行う。また、例えば、演算制御ユニット310は、演算ユニット312を制御することにより、入力側一時記憶ユニット306に書き込まれたデータを取得させる制御を行う。また、例えば、演算制御ユニット310は、演算ユニット312を制御することにより、入力側一時記憶ユニット306からのデータに対して、演算処理を行う制御を行う。また、例えば、演算制御ユニット310は、演算ユニット312を制御することにより、出力側一時記憶ユニット308へデータを出力させる制御を行う。   The arithmetic control unit 310 controls arithmetic processing executed by the arithmetic unit 312. For example, the arithmetic control unit 310 performs control related to matrix calculation for demodulation processing. For example, the arithmetic control unit 310 controls the arithmetic unit 312 to perform arithmetic processing on the data from the data transfer unit 304. Further, for example, the arithmetic control unit 310 performs control to acquire data written in the input-side temporary storage unit 306 by controlling the arithmetic unit 312. Further, for example, the arithmetic control unit 310 controls the arithmetic unit 312 to perform arithmetic processing on the data from the input-side temporary storage unit 306. Further, for example, the arithmetic control unit 310 performs control to output data to the output side temporary storage unit 308 by controlling the arithmetic unit 312.

例えば、演算制御ユニット310は、「演算」命令を作成するようにしてもよい。具体的には、演算制御ユニット310は、復調処理のためのプログラムを実行することにより起動する演算シーケンサ316により発行された命令に従って、上述した演算処理に関する制御を行う。例えば、演算シーケンサ316は、プログラムメモリに格納された命令を順次取り出して、演算制御ユニット310に、命令を発行する。演算シーケンサ316は、現在実行しているプログラムメモリ上のアドレスを記憶する。演算シーケンサ316は、現在実行しているプログラムメモリ上のアドレスを記憶するためにレジスタを利用してもよい。   For example, the arithmetic control unit 310 may create an “arithmetic” instruction. Specifically, the arithmetic control unit 310 performs control related to the arithmetic processing described above in accordance with an instruction issued by the arithmetic sequencer 316 that is activated by executing a program for demodulation processing. For example, the arithmetic sequencer 316 sequentially takes out the instructions stored in the program memory and issues the instructions to the arithmetic control unit 310. The arithmetic sequencer 316 stores an address on the currently executing program memory. The arithmetic sequencer 316 may use a register to store an address on the currently executing program memory.

演算ユニット312は、演算制御ユニット310と、入力側一時記憶ユニット306と、出力側一時記憶ユニット308と接続される。演算ユニット312は、演算制御ユニット310による制御に従って、復調処理に関する演算処理を行う。具体的には、演算ユニット312は、データ転送ユニット304からのデータを、必要に応じて入力側一時記憶ユニット306を介して取得する。演算ユニット312は、該データを利用して復調に関する演算を行う。演算ユニット312は、データ転送ユニット304へ、演算結果を出力する。演算結果をデータ転送ユニット304へ出力する際に、必要に応じて、出力側一時記憶ユニット308を介して出力する。   The arithmetic unit 312 is connected to the arithmetic control unit 310, the input side temporary storage unit 306, and the output side temporary storage unit 308. The arithmetic unit 312 performs arithmetic processing related to demodulation processing according to control by the arithmetic control unit 310. Specifically, the arithmetic unit 312 acquires data from the data transfer unit 304 via the input-side temporary storage unit 306 as necessary. The arithmetic unit 312 performs an operation related to demodulation using the data. The arithmetic unit 312 outputs the arithmetic result to the data transfer unit 304. When the calculation result is output to the data transfer unit 304, it is output via the output-side temporary storage unit 308 as necessary.

転送シーケンサ314、演算シーケンサ316の上位には、プロセッサ(図示無し)や制御回路(図示無し)が存在する。転送シーケンサ314、演算シーケンサ316は、プロセッサや制御回路の指示で動作する。   A processor (not shown) and a control circuit (not shown) exist above the transfer sequencer 314 and the operation sequencer 316. The transfer sequencer 314 and the operation sequencer 316 operate according to instructions from the processor and the control circuit.

プロセッサや制御回路の指示で、転送命令シーケンサ314と演算命令シーケンサ316は略同時にプログラムの実行を開始する。又は、プロセッサや制御回路の指示で、転送命令シーケンサ314が、演算命令シーケンサ316より、若干早く処理を開始するようにしてもよい。   In response to an instruction from the processor or control circuit, the transfer instruction sequencer 314 and the operation instruction sequencer 316 start executing the program substantially simultaneously. Alternatively, the transfer instruction sequencer 314 may start processing slightly earlier than the operation instruction sequencer 316 in accordance with an instruction from the processor or the control circuit.

データ転送ユニット304によりメモリ210からロードされたデータは、必要に応じて、入力側一時記憶ユニット306に、一時的にバッファされる。演算ユニット312は、入力側一時記憶ユニット306にバッファされたデータを読み出して、演算処理を実行する。演算ユニット312は、FIFO(First−In First−Out)方式により、入力側一時記憶ユニット306にバッファされたデータを読み出すようにしてもよい。演算ユニット312は、演算処理したデータを、必要に応じて、出力側一時記憶ユニット308に出力する。   The data loaded from the memory 210 by the data transfer unit 304 is temporarily buffered in the input side temporary storage unit 306 as necessary. The arithmetic unit 312 reads the data buffered in the input-side temporary storage unit 306 and executes arithmetic processing. The arithmetic unit 312 may read data buffered in the input-side temporary storage unit 306 by a FIFO (First-In First-Out) method. The arithmetic unit 312 outputs the processed data to the output-side temporary storage unit 308 as necessary.

転送シーケンサ314は、出力側一時記憶ユニット308にデータが格納されている場合に、メモリ210へ、該データをストアする命令を発行する。転送制御ユニット302は、該データをストアする命令に従ってデータ転送ユニット304を制御する。   When data is stored in the output-side temporary storage unit 308, the transfer sequencer 314 issues an instruction to store the data to the memory 210. The transfer control unit 302 controls the data transfer unit 304 in accordance with an instruction for storing the data.

転送シーケンサ314と演算シーケンサ316は、FIFOのフルフラグ、エンプティフラグを使用して命令の同期を取るようにしてもよい。このような構成にすることで、演算ユニット312は、常に処理するデータにアクセスできる。演算ユニット312が常に処理するデータにアクセスできることにより、ストールの発生を低減できる。また、データ転送ユニット304によるロードの実行の際にストールが発生した場合でも、入力側一時記憶ユニット306により吸収される。このため、演算ユニット312におけるストールを低減できる。   The transfer sequencer 314 and the operation sequencer 316 may synchronize instructions using a FIFO full flag and an empty flag. With this configuration, the arithmetic unit 312 can always access data to be processed. Since the arithmetic unit 312 can always access data to be processed, the occurrence of a stall can be reduced. Further, even when a stall occurs during execution of loading by the data transfer unit 304, it is absorbed by the input-side temporary storage unit 306. For this reason, the stall in the arithmetic unit 312 can be reduced.

<タイムチャート(その1)>
図6は、信号処理装置により実行される処理を示す。図6において、横軸は時間を表す。例えば、横軸は「サイクル」により表される。図6では、各サイクルに対応して、(1)−(11)が付される。演算ユニット312は、オペレーション1−1(OP1−1)の実行に、ロードされたデータを利用する。つまり、オペレーション1−2(OP1−2)、オペレーション1−3(OP1−3)の実行には、ロードされたデータを直接的には利用しない。
<Time chart (part 1)>
FIG. 6 shows processing executed by the signal processing device. In FIG. 6, the horizontal axis represents time. For example, the horizontal axis is represented by “cycle”. In FIG. 6, (1)-(11) are attached corresponding to each cycle. The arithmetic unit 312 uses the loaded data for execution of the operation 1-1 (OP1-1). That is, the loaded data is not directly used for the execution of the operation 1-2 (OP1-2) and the operation 1-3 (OP1-3).

転送制御ユニット302による制御に従って、データ転送ユニット304は、時間的に連続して、データのロードを実行する。例えば、転送シーケンサ314から、ロード命令が順次発行される。データ転送ユニット304は、ロード命令に従って、最大能力で転送処理を行う。演算ユニット312は、一時記憶されたデータを読み出せる状態になった場合に、処理を開始する。   According to the control by the transfer control unit 302, the data transfer unit 304 executes data loading continuously in time. For example, load instructions are sequentially issued from the transfer sequencer 314. The data transfer unit 304 performs transfer processing with the maximum capacity in accordance with the load instruction. The arithmetic unit 312 starts processing when the temporarily stored data can be read.

サイクル(1)、サイクル(2)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(1)、サイクル(2)では、転送制御ユニット302による制御に従って、データ転送ユニット304により2サイクルでデータのロードが実行される(LD1)。データのロードが実行される2サイクルの前半の1サイクルの間でストールが発生している。該ストールは、他の転送による影響により発生することもあるし、転送速度が遅いことにより発生することもある。データのロードが実行される2サイクルは一例であり、1サイクルでもよいし、3サイクル以上であってもよい。   In cycle (1) and cycle (2), an instruction for executing data loading is issued from the transfer sequencer 314. In cycle (1) and cycle (2), data loading is executed in two cycles by the data transfer unit 304 under the control of the transfer control unit 302 (LD1). A stall occurs during one cycle of the first half of the two cycles in which data loading is executed. The stall may occur due to the influence of other transfers, or may occur due to a slow transfer rate. The two cycles in which data loading is executed are an example, and may be one cycle or three or more cycles.

サイクル(3)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(3)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される(LD2)。サイクル(3)では、ストールが発生している。サイクル(3)では、転送制御ユニット302による制御に従って、データ転送ユニット304は、入力側一時記憶ユニット306へ、データ転送ユニット304によりサイクル(2)でロードされたデータ1(data1)を書き込む。さらに、サイクル(3)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−1を実行するための命令が入力される。演算ユニット312は、オペレーション1−1を実行するため、入力側一時記憶ユニット306から、データ1を取得する。演算ユニット312は、入力側一時記憶ユニット306から、データ1を廃棄する。   In cycle (3), an instruction for executing data loading is issued from the transfer sequencer 314. In cycle (3), data is loaded by the data transfer unit 304 under the control of the transfer control unit 302 (LD2). In cycle (3), a stall has occurred. In the cycle (3), the data transfer unit 304 writes the data 1 (data1) loaded by the data transfer unit 304 in the cycle (2) to the input side temporary storage unit 306 according to the control by the transfer control unit 302. Further, in cycle (3), an instruction for executing operation 1-1 is input from the arithmetic control unit 310 to the arithmetic unit 312. The arithmetic unit 312 acquires data 1 from the input-side temporary storage unit 306 in order to execute operation 1-1. The arithmetic unit 312 discards the data 1 from the input side temporary storage unit 306.

サイクル(4)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが継続される(LD2)。サイクル(4)では、データのロードが実行される。サイクル(4)では、演算シーケンサ316から、オペレーション1−2を実行するための命令が発行される。サイクル(4)では、演算ユニット312に、演算制御ユニット310からオペレーション1−2を実行するための命令が出力される。オペレーション1−2は、オペレーション1−1の結果を利用する処理であってもよい。   In cycle (4), data loading is continued by the data transfer unit 304 under the control of the transfer control unit 302 (LD2). In cycle (4), data loading is executed. In cycle (4), an instruction for executing operation 1-2 is issued from operation sequencer 316. In cycle (4), an instruction for executing operation 1-2 is output from the arithmetic control unit 310 to the arithmetic unit 312. Operation 1-2 may be processing that uses the result of operation 1-1.

サイクル(5)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(5)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される(LD3)。サイクル(5)では、ストールが発生している。サイクル(5)では、転送制御ユニット302による制御に従って、データ転送ユニット304は、入力側一時記憶ユニット306へ、データ転送ユニット304によりサイクル(4)でロードされたデータ2を書き込む。さらに、サイクル(5)では、演算シーケンサ316からオペレーション1−3を実行するための命令が発行される。サイクル(5)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−3を実行するための命令が出力される。オペレーション1−3は、オペレーション1−2の結果を利用する処理であってもよい。演算ユニット312は、入力側一時記憶ユニット306から、データ2を取得しないため、入力側一時記憶ユニット306にはデータ2が書き込まれたままである。   In cycle (5), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (5), data is loaded by the data transfer unit 304 under the control of the transfer control unit 302 (LD3). In cycle (5), a stall has occurred. In the cycle (5), the data transfer unit 304 writes the data 2 loaded in the cycle (4) by the data transfer unit 304 to the input side temporary storage unit 306 in accordance with the control by the transfer control unit 302. Further, in cycle (5), an instruction for executing operation 1-3 is issued from operation sequencer 316. In cycle (5), an instruction for executing operation 1-3 is output from arithmetic control unit 310 to arithmetic unit 312. Operation 1-3 may be processing that uses the result of operation 1-2. Since the arithmetic unit 312 does not acquire the data 2 from the input side temporary storage unit 306, the data 2 is still written in the input side temporary storage unit 306.

サイクル(6)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが継続される(LD3)。サイクル(6)では、データのロードが実行される。さらに、サイクル(6)では、演算シーケンサ316からオペレーション1−1を実行するための命令が発行される。サイクル(6)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−1を実行するための命令が出力される。演算ユニット312は、オペレーション1−1を実行するため、入力側一時記憶ユニット306から、データ2を取得する。演算ユニット312は、入力側一時記憶ユニット306から、データ2を廃棄する。   In cycle (6), data loading is continued by the data transfer unit 304 under the control of the transfer control unit 302 (LD3). In cycle (6), data loading is executed. Further, in cycle (6), an instruction for executing operation 1-1 is issued from the operation sequencer 316. In the cycle (6), an instruction for executing the operation 1-1 is output from the arithmetic control unit 310 to the arithmetic unit 312. The arithmetic unit 312 acquires data 2 from the input side temporary storage unit 306 in order to execute the operation 1-1. The arithmetic unit 312 discards the data 2 from the input side temporary storage unit 306.

サイクル(7)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(7)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される(LD4)。サイクル(7)では、ストールが発生している。サイクル(7)では、転送制御ユニット302による制御に従って、データ転送ユニット304は、入力側一時記憶ユニット306へ、データ転送ユニット304によりサイクル(6)でロードされたデータ3(data3)を書き込む。さらに、サイクル(6)では、演算シーケンサ316からオペレーション1−2を実行するための命令が発行される。サイクル(7)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−2を実行するための命令が出力される。オペレーション1−2は、オペレーション1−1の結果を利用する処理であってもよい。演算ユニット312は、入力側一時記憶ユニット306から、データ3を取得しないため、入力側一時記憶ユニット306にはデータ3が書き込まれたままである。   In cycle (7), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (7), data is loaded by the data transfer unit 304 under the control of the transfer control unit 302 (LD4). In cycle (7), a stall has occurred. In the cycle (7), the data transfer unit 304 writes the data 3 (data3) loaded in the cycle (6) by the data transfer unit 304 to the input side temporary storage unit 306 according to the control by the transfer control unit 302. Further, in cycle (6), an instruction for executing operation 1-2 is issued from operation sequencer 316. In the cycle (7), an instruction for executing the operation 1-2 is output from the arithmetic control unit 310 to the arithmetic unit 312. Operation 1-2 may be processing that uses the result of operation 1-1. Since the arithmetic unit 312 does not acquire the data 3 from the input side temporary storage unit 306, the data 3 is still written in the input side temporary storage unit 306.

サイクル(8)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが継続される(LD4)。サイクル(8)では、データのロードが実行される。さらに、サイクル(8)では、演算シーケンサ316からオペレーション1−3を実行するための命令が発行される。サイクル(8)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−3を実行するための命令が出力される。オペレーション1−3は、オペレーション1−2の結果を利用する処理であってもよい。演算ユニット312は、入力側一時記憶ユニット306から、データ3を取得しないため、入力側一時記憶ユニット306にはデータ3が書き込まれたままである。   In cycle (8), the data transfer unit 304 continues to load data according to the control by the transfer control unit 302 (LD4). In cycle (8), data loading is executed. Further, in the cycle (8), an instruction for executing the operation 1-3 is issued from the arithmetic sequencer 316. In the cycle (8), an instruction for executing the operation 1-3 is output from the arithmetic control unit 310 to the arithmetic unit 312. Operation 1-3 may be processing that uses the result of operation 1-2. Since the arithmetic unit 312 does not acquire the data 3 from the input side temporary storage unit 306, the data 3 is still written in the input side temporary storage unit 306.

サイクル(9)では、演算シーケンサ316からオペレーション1−1を実行するための命令が発行される。サイクル(9)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−1を実行するための命令が出力される。演算ユニット310は、オペレーション1−1を実行するため、入力側一時記憶ユニット306から、データ3を取得する。演算ユニット312は、入力側一時記憶ユニット306から、データ3を廃棄する。   In cycle (9), an instruction for executing operation 1-1 is issued from arithmetic sequencer 316. In cycle (9), an instruction for executing operation 1-1 is output from the arithmetic control unit 310 to the arithmetic unit 312. The arithmetic unit 310 acquires data 3 from the input side temporary storage unit 306 in order to execute the operation 1-1. The arithmetic unit 312 discards the data 3 from the input side temporary storage unit 306.

サイクル(10)では、演算シーケンサ316からオペレーション1−2を実行するための命令が発行される。サイクル(10)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−2を実行するための命令が出力される。   In cycle (10), an instruction for executing operation 1-2 is issued from operation sequencer 316. In the cycle (10), an instruction for executing the operation 1-2 is output from the arithmetic control unit 310 to the arithmetic unit 312.

サイクル(11)では、演算シーケンサ316からオペレーション1−3を実行するための命令が発行される。サイクル(11)では、演算制御ユニット310から演算ユニット312へ、オペレーション1−3を実行するための命令が出力される。   In cycle (11), an instruction for executing operation 1-3 is issued from operation sequencer 316. In the cycle (11), an instruction for executing the operation 1-3 is output from the arithmetic control unit 310 to the arithmetic unit 312.

データ転送ユニット304によりデータのロードが複数回実行された場合には、入力側一時記憶ユニット306へ、データが順次記憶されるようにしてもよい。演算ユニット312は、オペレーションを実行するため、入力側一時記憶ユニット306から、FIFO方式に従ってデータを取得するようにしてもよい。この場合、複数種類のデータが存在して、データの識別が必要となる場合があるが、演算される順序にデータが並ぶように転送順序が制御される。   When data loading is executed a plurality of times by the data transfer unit 304, the data may be sequentially stored in the input side temporary storage unit 306. The arithmetic unit 312 may acquire data from the input-side temporary storage unit 306 according to the FIFO method in order to execute the operation. In this case, there are cases where there are a plurality of types of data and the data needs to be identified, but the transfer order is controlled so that the data are arranged in the order of calculation.

例えば、VLIWを利用して作成される命令に基づいて、転送制御を行う場合、VLIWを利用して作成される命令の転送命令に該当する部分を抜き出して、データ転送ユニット304は入力側一次記憶ユニット306で使用される順にデータを並べる。   For example, when transfer control is performed based on an instruction created using VLIW, a portion corresponding to the transfer instruction of an instruction created using VLIW is extracted, and data transfer unit 304 stores input side primary storage. The data is arranged in the order used by the unit 306.

また、入力側一時記憶ユニット306から、FIFO方式に従ってデータを取得する代わりに、データが供給されるパスを識別できるようにしてもよい。データが供給されるパスを識別できることにより、データ転送ユニット304によりデータのロードが複数回実行された場合であっても、データを識別することができる。データを識別することができることにより、演算命令の対象となるデータを取得することができる。   Further, instead of acquiring data from the input-side temporary storage unit 306 according to the FIFO method, a path to which data is supplied may be identified. Since the path to which the data is supplied can be identified, the data can be identified even when the data transfer unit 304 loads the data a plurality of times. Since the data can be identified, the data that is the target of the operation instruction can be acquired.

例えば、演算命令に従って演算する複数種類のデータが存在することにより、データの識別が必要な場合には、演算するデータと同数の入力側一次記憶ユニットを用意するようにしてもよい。演算ユニット312は、複数の入力側一時記憶ユニットから、使用するデータが書き込まれたものを選択する。   For example, if there is a plurality of types of data to be calculated in accordance with the calculation instruction and it is necessary to identify the data, the same number of input side primary storage units as the data to be calculated may be prepared. The arithmetic unit 312 selects the data to be used from the plurality of input side temporary storage units.

図6に示されるタイムチャートによれば、データのロードと、演算処理とを独立に制御できるため、ロード命令を時間的に連続したサイクルで実行できる。ロード命令を時間的に連続したサイクルで実行できるため、メモリからの読み出しの際にストールが発生した場合であっても、演算命令を実行する際には、演算命令を実行するデータを予め用意することができる。演算命令を実行するデータを予め用意できるため、演算命令のストールを低減できる。   According to the time chart shown in FIG. 6, since the data loading and the arithmetic processing can be controlled independently, the load instruction can be executed in a temporally continuous cycle. Since the load instruction can be executed in a continuous cycle in time, even when a stall occurs when reading from the memory, data for executing the arithmetic instruction is prepared in advance when the arithmetic instruction is executed. be able to. Since data for executing the operation instruction can be prepared in advance, the stall of the operation instruction can be reduced.

仮に、データ転送命令と演算命令が略同時に実行されるように命令が発行される場合、予め転送するデータの順序が明確になっている場合でも、転送命令が発行されるまで転送は行われない。転送命令が発行されて、データの転送命令が実行された際に、メモリの速度に起因するストールが発生したり、他のデバイスのバス使用によるストールが発生したりする場合がある。このため、転送命令と略同時に実行されるようにプログラムされていた演算命令の実行まで遅延してしまう場合がある。図6に示されるタイムチャートによれば、ロードされたデータを一時記憶することにより、データ転送ユニット304と、演算ユニット312との間で、データが必要となる時間差を吸収できる。このため、メモリの速度に起因するストールや、他のデバイスのバス使用によるストールを低減できる。このため、演算命令の実行の遅延を低減できる。   If the instruction is issued so that the data transfer instruction and the arithmetic instruction are executed substantially simultaneously, even if the order of data to be transferred is clear, the transfer is not performed until the transfer instruction is issued. . When a transfer command is issued and a data transfer command is executed, a stall due to the speed of the memory may occur or a stall due to the use of a bus of another device may occur. For this reason, there may be a delay until the execution of the arithmetic instruction programmed to be executed almost simultaneously with the transfer instruction. According to the time chart shown in FIG. 6, by temporarily storing the loaded data, it is possible to absorb a time difference that requires data between the data transfer unit 304 and the arithmetic unit 312. For this reason, it is possible to reduce a stall caused by the speed of the memory and a stall caused by using a bus of another device. For this reason, it is possible to reduce the execution delay of the arithmetic instruction.

<タイムチャート(その2)>
図7は、信号処理装置により実行される処理を示す。図7において、横軸は時間を表す。例えば、横軸は「サイクル」により表される。図7では、各サイクルに対応して、(1)−(13)が付される。
<Time chart (2)>
FIG. 7 shows processing executed by the signal processing device. In FIG. 7, the horizontal axis represents time. For example, the horizontal axis is represented by “cycle”. In FIG. 7, (1) to (13) are attached corresponding to each cycle.

サイクル(1)、サイクル(2)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(1)、サイクル(2)では、転送制御ユニット302による制御に従って、データ転送ユニット304により各サイクルでデータのロードが実行される。   In cycle (1) and cycle (2), an instruction for executing data loading is issued from the transfer sequencer 314. In cycle (1) and cycle (2), data loading is executed in each cycle by the data transfer unit 304 in accordance with control by the transfer control unit 302.

さらに、サイクル(2)では、演算ユニット312に、演算制御ユニット310からメモリ210にデータをストアするための命令が出力される。しかし、メモリ210はストールしているため、演算ユニット312は、出力側一時記憶ユニット308に、データを書き込む。   Further, in cycle (2), an instruction for storing data from the arithmetic control unit 310 to the memory 210 is output to the arithmetic unit 312. However, since the memory 210 is stalled, the arithmetic unit 312 writes data to the output side temporary storage unit 308.

サイクル(3)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(3)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(1)によりロードされたデータを利用した演算が実行される。また転送制御ユニット302による制御に従って、データ転送ユニット304は、メモリ210に、出力側一時記憶ユニット308に書き込まれたデータを転送する。データ転送ユニット304は、出力側一時記憶ユニット308に書き込まれたデータをFIFO方式により出力する。出力側一時記憶ユニット308を有することにより、データのロードと、演算処理とを独立に制御できるため、輻輳を回避できる。また、転送されるデータに複数の種類がある場合には、データの識別が必要になり、転送命令が発行される順にデータが供給される必要がある。FIFO方式により出力することにより、転送命令が発行される順にデータを供給することができる。   In cycle (3), an instruction for executing the operation is issued from the operation sequencer 316. In the cycle (3), under the control of the arithmetic control unit 310, the arithmetic unit 312 performs an operation using the data loaded in the cycle (1). Further, the data transfer unit 304 transfers the data written in the output side temporary storage unit 308 to the memory 210 according to the control by the transfer control unit 302. The data transfer unit 304 outputs the data written in the output side temporary storage unit 308 by the FIFO method. By having the output-side temporary storage unit 308, data loading and arithmetic processing can be controlled independently, so that congestion can be avoided. Further, when there are a plurality of types of data to be transferred, it is necessary to identify the data, and it is necessary to supply the data in the order in which the transfer instructions are issued. By outputting the data using the FIFO method, data can be supplied in the order in which transfer instructions are issued.

サイクル(4)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(4)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。サイクル(4)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(4)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(2)によりロードされたデータを利用した演算が実行される。   In cycle (4), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (4), data loading is executed by the data transfer unit 304 under the control of the transfer control unit 302. In cycle (4), an instruction for executing the operation is issued from the operation sequencer 316. In the cycle (4), an operation using the data loaded in the cycle (2) is executed by the operation unit 312 under the control of the operation control unit 310.

サイクル(5)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(5)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。サイクル(5)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(5)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(4)によりロードされたデータを利用した演算が実行される。   In cycle (5), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (5), data is loaded by the data transfer unit 304 under the control of the transfer control unit 302. In cycle (5), an instruction for executing the operation is issued from the operation sequencer 316. In the cycle (5), the calculation using the data loaded in the cycle (4) is executed by the calculation unit 312 according to the control by the calculation control unit 310.

サイクル(6)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(6)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。さらに、サイクル(6)では、演算ユニット312へ、演算制御ユニット310からメモリ210にデータをストアするための命令が出力される。しかし、メモリ210はストールしているため、演算ユニット312は、出力側一時記憶ユニット308に、データを書き込む。   In cycle (6), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (6), data loading is executed by the data transfer unit 304 in accordance with control by the transfer control unit 302. Further, in cycle (6), an instruction for storing data from the arithmetic control unit 310 to the memory 210 is output to the arithmetic unit 312. However, since the memory 210 is stalled, the arithmetic unit 312 writes data to the output side temporary storage unit 308.

サイクル(7)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(7)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(5)によりロードされたデータを利用した演算が実行される。また転送制御ユニット302による制御に従って、データ転送ユニット304は、メモリ210に、出力側一時記憶ユニット308に書き込まれたデータを転送する。データ転送ユニット304は、出力側一時記憶ユニット308に書き込まれたデータをFIFO方式により出力する。   In cycle (7), an instruction for executing the operation is issued from the operation sequencer 316. In the cycle (7), the calculation using the data loaded in the cycle (5) is executed by the calculation unit 312 according to the control by the calculation control unit 310. Further, the data transfer unit 304 transfers the data written in the output side temporary storage unit 308 to the memory 210 according to the control by the transfer control unit 302. The data transfer unit 304 outputs the data written in the output side temporary storage unit 308 by the FIFO method.

サイクル(8)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(8)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。サイクル(8)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(8)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(6)によりロードされたデータを利用した演算が実行される。   In cycle (8), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (8), data loading is executed by the data transfer unit 304 in accordance with control by the transfer control unit 302. In cycle (8), an instruction for executing the operation is issued from the operation sequencer 316. In the cycle (8), an operation using the data loaded in the cycle (6) is executed by the operation unit 312 according to the control by the operation control unit 310.

サイクル(9)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(9)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。サイクル(9)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(9)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(8)によりロードされたデータを利用した演算が実行される。   In cycle (9), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (9), data is loaded by the data transfer unit 304 in accordance with the control by the transfer control unit 302. In the cycle (9), an instruction for executing an operation is issued from the arithmetic sequencer 316. In the cycle (9), an operation using the data loaded in the cycle (8) is executed by the operation unit 312 according to the control by the operation control unit 310.

サイクル(10)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(10)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。さらに、サイクル(10)では、演算ユニット312へ、演算制御ユニット310からメモリ210にデータをストアするための命令が出力される。しかし、メモリ210はストールしているため、演算ユニット312は、出力側一時記憶ユニット308に、データを書き込む。   In cycle (10), the transfer sequencer 314 issues an instruction for executing data loading. In cycle (10), data loading is executed by the data transfer unit 304 in accordance with control by the transfer control unit 302. Further, in cycle (10), an instruction for storing data in the memory 210 is output from the arithmetic control unit 310 to the arithmetic unit 312. However, since the memory 210 is stalled, the arithmetic unit 312 writes data to the output side temporary storage unit 308.

サイクル(11)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(11)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(9)によりロードされたデータを利用した演算が実行される。また転送制御ユニット302による制御に従って、データ転送ユニット304は、メモリ210に、出力側一時記憶ユニット308に書き込まれたデータを転送する。データ転送ユニット304は、出力側一時記憶ユニット308に書き込まれたデータをFIFO方式により出力する。   In the cycle (11), an instruction for executing an operation is issued from the arithmetic sequencer 316. In the cycle (11), an operation using the data loaded in the cycle (9) is executed by the operation unit 312 according to the control by the operation control unit 310. Further, the data transfer unit 304 transfers the data written in the output side temporary storage unit 308 to the memory 210 according to the control by the transfer control unit 302. The data transfer unit 304 outputs the data written in the output side temporary storage unit 308 by the FIFO method.

サイクル(12)では、転送シーケンサ314から、データのロードを実行するための命令が発行される。サイクル(12)では、転送制御ユニット302による制御に従って、データ転送ユニット304によりデータのロードが実行される。サイクル(12)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(12)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(10)によりロードされたデータを利用した演算が実行される。   In cycle (12), the transfer sequencer 314 issues an instruction for executing data loading. In the cycle (12), data loading is executed by the data transfer unit 304 under the control of the transfer control unit 302. In the cycle (12), an instruction for executing the operation is issued from the arithmetic sequencer 316. In the cycle (12), an operation using the data loaded in the cycle (10) is executed by the operation unit 312 under the control of the operation control unit 310.

サイクル(13)では、演算シーケンサ316からオペレーションを実行するための命令が発行される。サイクル(13)では、演算制御ユニット310による制御に従って、演算ユニット312によりサイクル(12)によりロードされたデータを利用した演算が実行される。   In the cycle (13), an instruction for executing an operation is issued from the arithmetic sequencer 316. In the cycle (13), an operation using the data loaded in the cycle (12) is performed by the operation unit 312 under the control of the operation control unit 310.

サイクル(3)において、データ転送ユニット304により、出力側一時記憶ユニット308に書き込まれたデータ(演算結果)がFIFO方式により出力される代わりに、データが供給されるパスを識別できるようにしてもよい。データが供給されるパスが識別できることにより、複数の種類のデータを転送する場合であっても、データを識別することができる。データを識別することができることにより、転送命令が発行される順にデータを供給することができる。   In the cycle (3), the data transfer unit 304 can identify the path to which data is supplied instead of outputting the data (calculation result) written in the output-side temporary storage unit 308 by the FIFO method. Good. Since the path to which data is supplied can be identified, the data can be identified even when a plurality of types of data are transferred. Since the data can be identified, the data can be supplied in the order in which the transfer instructions are issued.

データが供給されるパスを識別できることにより、演算ユニット312により演算処理が複数回実行された場合であっても、演算結果を識別することができる。演算結果を識別することができることにより、演算処理に従って演算結果を取得することができる。   Since the path to which the data is supplied can be identified, the calculation result can be identified even when the calculation process is executed a plurality of times by the calculation unit 312. Since the calculation result can be identified, the calculation result can be acquired according to the calculation process.

例えば、演算命令に従って演算処理された複数の演算結果が存在することにより、演算結果の識別が必要な場合には、演算結果と同数の出力側一次記憶ユニットを用意するようにしてもよい。   For example, when there are a plurality of calculation results that have been processed in accordance with a calculation command and it is necessary to identify the calculation results, the same number of output side primary storage units as the calculation results may be prepared.

図8は、従来構成による処理を示す。図8において、横軸は時間を表す。例えば、横軸は「サイクル」により表される。図8では、各サイクルに対応して、(1)−(13)が付される。   FIG. 8 shows processing according to the conventional configuration. In FIG. 8, the horizontal axis represents time. For example, the horizontal axis is represented by “cycle”. In FIG. 8, (1)-(13) are attached corresponding to each cycle.

サイクル(1)では、データのロードが実行される。   In cycle (1), data loading is executed.

サイクル(2)では、データのロードが試みられる。しかし、メモリがストアするため、データのロードは実行されない。データのロードが実行されないのは、メモリへのアクセスポートが1つであるため、ロードとストアとを同時に行うことができないことに起因する。図7に示されるタイムチャートでは、出力側一時記憶部108により、該ストールが回避される。   In cycle (2), an attempt is made to load data. However, no data is loaded because the memory stores. The reason why the data is not loaded is that the load and store cannot be performed simultaneously because there is one access port to the memory. In the time chart shown in FIG. 7, the output side temporary storage unit 108 avoids the stall.

サイクル(3)では、サイクル(2)によりロードされるはずであったデータのロードが実行される。メモリには、サイクル(2)によりストアされたデータが保持される。   In cycle (3), the data that was supposed to be loaded in cycle (2) is loaded. The memory stores the data stored in cycle (2).

サイクル(4)では、サイクル(1)によりロードされたデータを利用した演算が実行される。   In cycle (4), an operation using the data loaded in cycle (1) is executed.

サイクル(5)では、データのロードが実行される。サイクル(5)では、サイクル(3)によりロードされたデータを利用した演算が実行される。   In cycle (5), data loading is executed. In cycle (5), an operation using the data loaded in cycle (3) is executed.

サイクル(6)では、データのロードが実行される。サイクル(6)では、サイクル(5)によりロードされたデータを利用した演算が実行される。   In cycle (6), data loading is executed. In cycle (6), an operation using the data loaded in cycle (5) is executed.

サイクル(7)では、データのロードが試みられる。しかし、メモリがストアするため、データのロードは実行されない。データのロードが実行されないのは、メモリへのアクセスポートが1つであるため、ロードとストアとを同時に行うことができないことに起因する。   In cycle (7), an attempt is made to load data. However, no data is loaded because the memory stores. The reason why the data is not loaded is that the load and store cannot be performed simultaneously because there is one access port to the memory.

サイクル(8)では、サイクル(7)によりロードされるはずであったデータのロードが実行される。メモリには、サイクル(7)によりストアされたデータが保持される。   In cycle (8), the data that was supposed to be loaded in cycle (7) is loaded. The memory stores the data stored in cycle (7).

サイクル(9)では、サイクル(6)によりロードされたデータを利用した演算が実行される。   In cycle (9), an operation using the data loaded in cycle (6) is executed.

サイクル(10)では、データのロードが実行される。サイクル(10)では、サイクル(8)によりロードされたデータを利用した演算が実行される。   In cycle (10), data loading is executed. In the cycle (10), an operation using the data loaded in the cycle (8) is executed.

サイクル(11)では、データのロードが実行される。サイクル(11)では、サイクル(10)によりロードされたデータを利用した演算が実行される。   In cycle (11), data loading is executed. In the cycle (11), an operation using the data loaded in the cycle (10) is executed.

サイクル(12)では、データのロードが試みられる。しかし、メモリはストアするため、データのロードは実行されない。データのロードが実行されないのは、メモリへのアクセスポートが1つであるため、ロードとストアとを同時に行うことができないことに起因する。   In cycle (12), an attempt is made to load data. However, since the memory is stored, no data is loaded. The reason why the data is not loaded is that the load and store cannot be performed simultaneously because there is one access port to the memory.

サイクル(13)では、サイクル(12)によりロードされるはずであったデータのロードが実行される。メモリには、サイクル(12)によりストアされたデータが保持される。   In cycle (13), loading of data that should have been loaded in cycle (12) is performed. The memory stores the data stored in cycle (12).

図8に示されるタイムチャートでは、サイクル(2)、(7)、(12)でメモリの輻輳が生じているため、演算効率が低下しているのが分かる。   In the time chart shown in FIG. 8, it can be seen that the calculation efficiency is reduced because memory congestion occurs in cycles (2), (7), and (12).

<信号処理装置の動作>
図9、図10は、信号処理装置の動作の一実施例を示すフローチャートである。
<Operation of signal processing device>
9 and 10 are flowcharts showing an embodiment of the operation of the signal processing apparatus.

図9は、転送制御ユニット302による制御に従ってデータ転送ユニット304により実行される処理が主に示される。   FIG. 9 mainly shows processing executed by the data transfer unit 304 in accordance with control by the transfer control unit 302.

図10は、演算制御ユニット310による制御に従って演算ユニット312により実行される処理が主に示される。   FIG. 10 mainly shows processing executed by the arithmetic unit 312 in accordance with control by the arithmetic control unit 310.

転送制御ユニット302による制御に従ってデータ転送ユニット304により実行される処理について、図9を参照して説明する。   Processing executed by the data transfer unit 304 in accordance with control by the transfer control unit 302 will be described with reference to FIG.

ステップS902で、データ転送ユニット304が起動される。例えば、携帯端末100の電源がオンにされることによりデータ転送ユニット304の電源がオンにされてもよい。   In step S902, the data transfer unit 304 is activated. For example, the data transfer unit 304 may be turned on by turning on the power of the mobile terminal 100.

ステップS904で、転送制御ユニット302は、転送するデータが存在するか否かを判定する。   In step S904, the transfer control unit 302 determines whether there is data to be transferred.

転送するデータが存在する場合に、ステップS906で、転送制御ユニット302は、入力側一時記憶ユニット306に空き容量があるか否かを判定する。例えば、転送制御ユニット302は、入力側一時記憶ユニット306に、ステップ904により存在すると判定されたデータに相当する空き容量があるか否かを判定する。   If there is data to be transferred, in step S906, the transfer control unit 302 determines whether the input temporary storage unit 306 has free space. For example, the transfer control unit 302 determines whether or not the input temporary storage unit 306 has a free space corresponding to the data determined to exist in step 904.

ステップS908で、転送制御ユニット302は、データ転送ユニット304を制御することにより、入力側一時記憶ユニット306へ、メモリ210からのデータを転送する。   In step S908, the transfer control unit 302 controls the data transfer unit 304 to transfer the data from the memory 210 to the input-side temporary storage unit 306.

ステップS904により転送するデータが存在しない場合には、ステップS906、ステップS908の処理は実行されない。ステップS906により入力側一時記憶ユニット306に空き容量がない場合には、ステップS908の処理は実行されない。   If there is no data to be transferred in step S904, the processes in steps S906 and S908 are not executed. If there is no free space in the input side temporary storage unit 306 in step S906, the process in step S908 is not executed.

ステップS910で、転送制御ユニット302は、出力側一時記憶ユニット308に、転送するデータが存在するか否かを判定する。   In step S910, the transfer control unit 302 determines whether there is data to be transferred in the output-side temporary storage unit 308.

ステップS912で、転送するデータが存在する場合、転送制御ユニット302は、データ転送ユニット304を制御することにより、出力側一時記憶ユニット308からメモリ210へ、データを転送する。   If there is data to be transferred in step S912, the transfer control unit 302 controls the data transfer unit 304 to transfer the data from the output side temporary storage unit 308 to the memory 210.

ステップS910により転送するデータが存在しない場合には、ステップS912の処理は実行されない。   If there is no data to be transferred in step S910, the process in step S912 is not executed.

ステップS914で、転送制御ユニット302は、データ転送処理が終了したか否かを判定する。データ転送処理が終了した場合、転送制御ユニット302は、処理を終了する。データ転送処理が終了しない場合、転送制御ユニット302は、ステップS904から処理を実行する。   In step S914, the transfer control unit 302 determines whether or not the data transfer process has ended. When the data transfer process ends, the transfer control unit 302 ends the process. If the data transfer process does not end, the transfer control unit 302 executes the process from step S904.

図9に示されるフローチャートにおいて、ステップS904−S908の処理と、ステップS910−S912の処理とを入れ替えてもよい。   In the flowchart shown in FIG. 9, the processes in steps S904 to S908 and the processes in steps S910 to S912 may be interchanged.

演算制御ユニット310による制御に従って演算ユニット312により実行される処理について、図10を参照して説明する。   Processing executed by the arithmetic unit 312 in accordance with control by the arithmetic control unit 310 will be described with reference to FIG.

ステップS1002で、演算ユニット312が起動される。例えば、携帯端末100の電源がオンにされることにより演算ユニット312の電源がオンにされてもよい。   In step S1002, the arithmetic unit 312 is activated. For example, the power of the arithmetic unit 312 may be turned on when the power of the mobile terminal 100 is turned on.

ステップS1004で、演算制御ユニット310は、入力側一時記憶ユニット306に未処理のデータが存在するか否かを判定する。   In step S1004, the arithmetic control unit 310 determines whether unprocessed data exists in the input-side temporary storage unit 306.

未処理のデータが存在する場合に、ステップS1006で、演算制御ユニット310は、演算ユニット312を制御することにより、入力側一時記憶ユニット306からデータを読み出して、演算処理を実行する。   If unprocessed data exists, in step S1006, the arithmetic control unit 310 controls the arithmetic unit 312 to read data from the input-side temporary storage unit 306 and execute arithmetic processing.

ステップS1008で、演算制御ユニット310は、出力側一時記憶ユニット308に空き容量があるか否かを判定する。例えば、演算制御ユニット310は、出力側一時記憶ユニット308に、ステップ1006により演算処理されたデータに相当する空き容量があるか否かを判定する。   In step S1008, the arithmetic control unit 310 determines whether or not the output-side temporary storage unit 308 has free space. For example, the arithmetic control unit 310 determines whether or not the output side temporary storage unit 308 has a free space corresponding to the data processed in step 1006.

ステップS1010で、演算制御ユニット310は、演算ユニット312を制御することにより、出力側一時記憶ユニット308へ、データを転送する。   In step S <b> 1010, the arithmetic control unit 310 controls the arithmetic unit 312 to transfer data to the output side temporary storage unit 308.

ステップS1004により未処理のデータが存在しない場合には、再度ステップS1004による判定が行われる。ステップS1008により出力側一時記憶ユニット308に空き容量がない場合には、再度ステップS1008による判定が行われる。   If there is no unprocessed data in step S1004, the determination in step S1004 is performed again. If the output side temporary storage unit 308 has no free space in step S1008, the determination in step S1008 is performed again.

ステップS1012で、演算制御ユニット310は、演算処理が終了したか否かを判定する。演算処理が終了した場合、演算制御ユニット310は、処理を終了する。演算処理が終了しない場合、演算制御ユニット310は、ステップS1004から処理を実行する。   In step S1012, the arithmetic control unit 310 determines whether or not the arithmetic processing has ended. When the calculation process is completed, the calculation control unit 310 ends the process. If the calculation process is not terminated, the calculation control unit 310 executes the process from step S1004.

<本実施例の効果>
図11は、信号処理装置の一実施例の効果を示す。
<Effect of this embodiment>
FIG. 11 shows the effect of an embodiment of the signal processing apparatus.

左側の図(1)は従来の信号処理装置による処理を表し、右側の図(2)は本実施例の信号処理装置による処理を表す。   The diagram (1) on the left represents the processing by the conventional signal processing device, and the diagram (2) on the right represents the processing by the signal processing device of the present embodiment.

「a」はプロセッサの処理能力全体を表す。「b」はストールの発生により失われる能力を表す。「c」、「d」は処理実行に使用できる実効的な能力を表す。   “A” represents the entire processing capacity of the processor. “B” represents the ability lost due to the occurrence of a stall. “C” and “d” represent effective abilities that can be used to execute the process.

所要の演算量を処理できるプロセッサの個数は、該所要の演算量を「c」の部分の処理能力で割ったものとなる。   The number of processors capable of processing the required calculation amount is obtained by dividing the required calculation amount by the processing capacity of the portion “c”.

従来の信号処理装置は、プロセッサの処理能力全体のうち、ストールの発生により失われる能力の割合が大きい。その結果、従来の信号処理装置は、プロセッサの必要数が増えることになる。   In the conventional signal processing apparatus, the ratio of the capacity lost due to the occurrence of the stall is large in the entire processing capacity of the processor. As a result, the required number of processors increases in the conventional signal processing apparatus.

本実施例の信号処理装置は、従来の信号処理装置と比べて、プロセッサの処理能力全体のうち、ストールの発生により失われる能力の割合が小さい。その結果、本実施例の信号処理装置は、プロセッサの必要数を減少させることができる。プロセッサの必要数を減少させることができるため、目的の処理を実現するための回路規模を小さくすることができる。   In the signal processing apparatus according to the present embodiment, the ratio of the capacity lost due to the occurrence of the stall is small in the entire processing capacity of the processor as compared with the conventional signal processing apparatus. As a result, the signal processing apparatus of this embodiment can reduce the required number of processors. Since the required number of processors can be reduced, the circuit scale for realizing the target processing can be reduced.

<変形例>
図12は、信号処理装置の機能の一変形例を示す。
<Modification>
FIG. 12 shows a modification of the function of the signal processing device.

信号処理装置の一変形例では、図5を参照して説明した信号処理装置において、転送シーケンサ314の代わりに、DMA(Direct Memory Access)転送制御ユニット318を有する点で異なる。DMA転送制御ユニット318の機能は、転送制御ユニット302の機能と略同一である。DMA転送制御ユニット318は、ロード用のDMA転送制御ユニットと、ストア用のDMA転送制御ユニットとを含むように構成してもよい。DMA転送制御ユニット318は、プログラムメモリに格納された命令に依存せずに、データの転送処理を行う。例えば、DMA転送制御ユニット318は、転送内容を設定する。該転送内容には、データの存在するアドレスを表す情報、転送するデータのサイズを表す情報が含まれる。DMA転送制御ユニット318は、演算シーケンサ316による設定に従って起動する点で異なる。この場合、DMA転送制御ユニット318は、演算シーケンサ316からの演算命令を実行することにより起動するようにしてもよい。また、DMA転送制御ユニット318は、上位の機能ブロックレベルの制御プロセッサや制御回路からの制御信号により起動するようにしてもよい。   A modification of the signal processing apparatus is different in that the signal processing apparatus described with reference to FIG. 5 includes a DMA (Direct Memory Access) transfer control unit 318 instead of the transfer sequencer 314. The function of the DMA transfer control unit 318 is substantially the same as the function of the transfer control unit 302. The DMA transfer control unit 318 may include a load DMA transfer control unit and a store DMA transfer control unit. The DMA transfer control unit 318 performs the data transfer process without depending on the instruction stored in the program memory. For example, the DMA transfer control unit 318 sets transfer contents. The transfer content includes information indicating the address where the data exists and information indicating the size of the data to be transferred. The DMA transfer control unit 318 is different in that the DMA transfer control unit 318 is started according to the setting by the arithmetic sequencer 316. In this case, the DMA transfer control unit 318 may be activated by executing a calculation instruction from the calculation sequencer 316. The DMA transfer control unit 318 may be activated by a control signal from a higher-level functional block level control processor or control circuit.

DMA転送制御ユニット318を有することにより、演算シーケンサ316による設定に従って起動した後は、直接メモリにアクセスするように転送制御ユニット302に命令を発行するため、処理速度を向上させることができる。   By having the DMA transfer control unit 318, the instruction can be issued to the transfer control unit 302 so as to directly access the memory after the startup according to the setting by the arithmetic sequencer 316, so that the processing speed can be improved.

本実施例、変形例の信号処理装置は、特に、OFDMに代表される比較的簡単な演算を大量に実行する通信方式に適用されることで効果が得られる。OFDMは、周波数分割多重の一方式であり、キャリアを互いに直交するように配置することによりキャリア周波数の密度を高め周波数効率を向上させた方式である。OFDMは、LTEやWiMAX、地上ディジタル放送などに使用されている。該通信方式では、転送されるデータの順序が予め明確であるため、命令の並列実行を行いながら互いへの影響を軽減させることができるためである。つまり、演算に使用されるデータ転送の制御と、実際の演算を行う制御とを分けることにより、データの転送で生じるストールが演算処理に与える影響を低減できるためである。このため、演算ユニットを効率よく動作させることができる。   The signal processing apparatus according to the present embodiment and the modification can achieve an effect by being applied to a communication system that executes a large amount of relatively simple operations represented by OFDM. OFDM is a method of frequency division multiplexing, in which carriers are arranged so as to be orthogonal to each other, thereby increasing the carrier frequency density and improving the frequency efficiency. OFDM is used for LTE, WiMAX, terrestrial digital broadcasting, and the like. This is because the order of data to be transferred is clear in advance in the communication method, and the influence on each other can be reduced while executing instructions in parallel. That is, by separating the control of the data transfer used for the calculation and the control for performing the actual calculation, it is possible to reduce the influence of the stall caused by the data transfer on the calculation process. For this reason, the arithmetic unit can be operated efficiently.

Claims (12)

演算ユニットにより実行される演算処理のタイミングを制御する演算制御ユニットと、
該演算制御ユニットにより制御される演算処理のタイミングに従って前記演算ユニットにより前記演算処理の対象となるデータがロードできるように、該演算処理の対象となるデータを転送するためのタイミングを制御する転送制御ユニットと
を有する、信号処理装置。
An arithmetic control unit that controls the timing of arithmetic processing executed by the arithmetic unit;
Transfer control for controlling the timing for transferring the data subject to the arithmetic processing so that the data subject to the arithmetic processing can be loaded by the arithmetic unit according to the timing of the arithmetic processing controlled by the arithmetic control unit A signal processing device having a unit.
前記転送制御ユニットは、プログラムメモリに格納された命令に従って、前記演算処理の対象となるデータを転送するためのタイミングを制御する、請求項1に記載の信号処理装置。   The signal processing apparatus according to claim 1, wherein the transfer control unit controls timing for transferring data to be subjected to the arithmetic processing in accordance with an instruction stored in a program memory. 前記転送制御ユニットは、DMA(Direct Memory Access)方式に従って、前記演算処理の対象となるデータを転送するためのタイミングを制御する、請求項1に記載の信号処理装置。   The signal processing apparatus according to claim 1, wherein the transfer control unit controls a timing for transferring the data to be subjected to the arithmetic processing according to a DMA (Direct Memory Access) method. 前記転送制御ユニットは、前記演算処理の対象となる複数のデータを転送するためのタイミングを制御する際に、FIFO(First−In First−Out)方式に従う、請求項1ないし3のいずれか1項に記載の信号処理装置。   4. The transfer control unit according to claim 1, wherein the transfer control unit follows a FIFO (First-In First-Out) system when controlling timing for transferring a plurality of data to be subjected to the arithmetic processing. 5. A signal processing device according to 1. 前記転送制御ユニットにより制御されるタイミングに従って転送されるデータを記憶する1又は複数の記憶部
を有し、
前記転送制御ユニットは、前記演算処理の対象となる複数のデータを転送するためのタイミングを制御する際に、前記1又は複数の記憶部に、前記演算処理の対象となる複数のデータを転送するためのタイミングを制御する、請求項1に記載の信号処理装置。
One or more storage units for storing data transferred according to the timing controlled by the transfer control unit;
The transfer control unit transfers a plurality of data to be subjected to the arithmetic processing to the one or a plurality of storage units when controlling timing for transferring the plurality of data to be subjected to the arithmetic processing. The signal processing apparatus according to claim 1, wherein timing for controlling the signal is controlled.
演算ユニットにより実行される演算処理のタイミングを制御し、
該演算処理のタイミングに従って前記演算ユニットにより前記演算処理の対象となるデータがロードできるように、該演算処理の対象となるデータを転送するためのタイミングを制御する、信号処理方法。
Control the timing of arithmetic processing executed by the arithmetic unit,
A signal processing method for controlling a timing for transferring data to be subjected to the arithmetic processing so that the arithmetic unit can load the data to be the arithmetic processing according to the timing of the arithmetic processing.
前記演算制御ユニットにより制御されるタイミングと、前記転送制御ユニットにより制御されるタイミングとが同期している、請求項1に記載の信号処理装置。   The signal processing device according to claim 1, wherein a timing controlled by the arithmetic control unit and a timing controlled by the transfer control unit are synchronized. 前記演算制御ユニットは、プログラムメモリに格納された命令に従って、前記演算処理タイミングを制御する、請求項1に記載の信号処理装置。   The signal processing apparatus according to claim 1, wherein the arithmetic control unit controls the arithmetic processing timing in accordance with an instruction stored in a program memory. 前記演算制御ユニットは、前記演算ユニットにより演算処理されたデータを転送するためのタイミングを制御する、請求項1に記載の信号処理装置。   The signal processing device according to claim 1, wherein the arithmetic control unit controls a timing for transferring the data processed by the arithmetic unit. 前記演算制御ユニットは、前記演算処理されたデータを転送するためのタイミングを制御する際に、FIFO(First−In First−Out)方式に従う、請求項9に記載の信号処理装置。   The signal processing apparatus according to claim 9, wherein the arithmetic control unit conforms to a first-in first-out (FIFO) method when controlling timing for transferring the arithmetically processed data. 前記演算制御ユニットにより制御されるタイミングに従って転送されるデータを記憶する1又は複数の記憶部
を有し、
前記演算制御ユニットは、前記演算処理された複数のデータを転送するためのタイミングを制御する際に、前記1又は複数の記憶部に、前記演算処理された複数のデータを転送するためのタイミングを制御する、請求項9に記載の信号処理装置。
Having one or a plurality of storage units for storing data transferred according to the timing controlled by the arithmetic control unit;
When the arithmetic control unit controls the timing for transferring the plurality of arithmetically processed data, the arithmetic control unit sets the timing for transferring the arithmetically processed plurality of data to the one or more storage units. The signal processing device according to claim 9, wherein the signal processing device is controlled.
請求項1ないし11のいずれか1項に記載の信号処理装置を有する携帯端末。   A portable terminal comprising the signal processing device according to claim 1.
JP2013546871A 2011-11-28 2011-11-28 Signal processing apparatus and signal processing method Pending JPWO2013080289A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013546871A JPWO2013080289A1 (en) 2011-11-28 2011-11-28 Signal processing apparatus and signal processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013546871A JPWO2013080289A1 (en) 2011-11-28 2011-11-28 Signal processing apparatus and signal processing method

Publications (1)

Publication Number Publication Date
JPWO2013080289A1 true JPWO2013080289A1 (en) 2015-04-27

Family

ID=53013413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013546871A Pending JPWO2013080289A1 (en) 2011-11-28 2011-11-28 Signal processing apparatus and signal processing method

Country Status (1)

Country Link
JP (1) JPWO2013080289A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240664A (en) * 1987-03-27 1988-10-06 Masahiro Sowa Fast processing computer
JP2000330788A (en) * 1999-05-03 2000-11-30 Stmicroelectronics Sa Computer system
JP2002268876A (en) * 2001-03-14 2002-09-20 Denso Corp Pipeline processing method and information processor
JP2002358288A (en) * 2001-05-31 2002-12-13 Hitachi Ltd Semiconductor integrated circuit and computer readable recording medium
JP2007317152A (en) * 2006-05-29 2007-12-06 Yuundo:Kk Information processor
JP2008181535A (en) * 2000-12-07 2008-08-07 Koninkl Philips Electronics Nv Digital signal processing apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240664A (en) * 1987-03-27 1988-10-06 Masahiro Sowa Fast processing computer
JP2000330788A (en) * 1999-05-03 2000-11-30 Stmicroelectronics Sa Computer system
JP2008181535A (en) * 2000-12-07 2008-08-07 Koninkl Philips Electronics Nv Digital signal processing apparatus
JP2002268876A (en) * 2001-03-14 2002-09-20 Denso Corp Pipeline processing method and information processor
JP2002358288A (en) * 2001-05-31 2002-12-13 Hitachi Ltd Semiconductor integrated circuit and computer readable recording medium
JP2007317152A (en) * 2006-05-29 2007-12-06 Yuundo:Kk Information processor

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200600610001; 須賀 敦浩: '「スーパーコンの技術を民生機器向けプロセサに適用  マルチコア向け性能チューニングの勘所」' 日経エレクトロニクス no.908 , 20050912, 119頁〜130頁, 日経BP社 *
CSNG200800573057; 宮本 孝道: '「情報家電用マルチコア上におけるマルチメディア処理のコンパイラによる並列化」' 先進的計算基盤システムシンポジウム  SACSIS2008  論文集 第2008巻, 20080604, 社団法人情報処理学会 *
JPN6012013625; Assia Djabelkhir et al.: '"Characterization of embedded applications for decoupled processor architecture"' IEEE International Workshop on Workload Characterization, 2003. WWC-6. 2003 , 20031027, pages:119-127, IEEE *
JPN6012068678; JAMES E. SMITH: '"Decoupled Access/Execute ComputerArchitectures"' ACM Transactions on Computer Systems Vol.2,No.4, 198411, Pages 289-308, ACM *
JPN6015008195; 須賀 敦浩: '「スーパーコンの技術を民生機器向けプロセサに適用  マルチコア向け性能チューニングの勘所」' 日経エレクトロニクス no.908 , 20050912, 119頁〜130頁, 日経BP社 *
JPN6015008197; 宮本 孝道: '「情報家電用マルチコア上におけるマルチメディア処理のコンパイラによる並列化」' 先進的計算基盤システムシンポジウム  SACSIS2008  論文集 第2008巻, 20080604, 社団法人情報処理学会 *

Similar Documents

Publication Publication Date Title
US8565811B2 (en) Software-defined radio using multi-core processor
US9753884B2 (en) Radio-control board for software-defined radio platform
US8583976B2 (en) Hierarchy management method and system for HARQ memory
US20110136439A1 (en) Analyzing Wireless Technologies Based On Software-Defined Radio
TWI392298B (en) Method, apparatus, and computer program product for zeroing-out llrs using demod-bitmap to improve performance of modem decoder
US8494010B2 (en) Data transfer device, data transmitting device, data receiving device, and data transfer method
US20220046543A1 (en) Information sending and receiving method and device, terminal, and base station
KR20150067321A (en) Method and Device for Processing Data
CN102693193B (en) Interrupt auxiliary processing device, real-time system and interrupt processing method
US20180352557A1 (en) Methods And Apparatus For A Unified Baseband Architecture
US10481957B2 (en) Processor and task processing method therefor, and storage medium
WO2013080289A1 (en) Signal processing device and signal processing method
EP2674855A1 (en) An element selection unit and a method therein
US8751703B2 (en) Interrupt event management
US20230111984A1 (en) Methods and Apparatus for Adaptive Power Profiling in A Baseband Processing System
US9917789B2 (en) Computing element allocation in data receiving link
JPWO2013080289A1 (en) Signal processing apparatus and signal processing method
US20140057617A1 (en) Radio device and radio signal processing method
JPWO2007060932A1 (en) Multi-thread processor with dynamically reconfigurable logic
CN111901878A (en) Uplink signal transmission method, device, communication node and storage medium
JP2013211015A (en) Control of programs in parallel processing systems
CN112449437A (en) Downlink control information scheduling method, device and storage medium
CN113328829B (en) Encoding and decoding method, device and computer storage medium
WO2022017236A1 (en) Data processing method and apparatus, and device and storage medium
CN117519633A (en) GPU multichannel HDMI audio synchronous output method, device and storage medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151208