JP2011103029A - Arithmetic processor - Google Patents

Arithmetic processor Download PDF

Info

Publication number
JP2011103029A
JP2011103029A JP2009257124A JP2009257124A JP2011103029A JP 2011103029 A JP2011103029 A JP 2011103029A JP 2009257124 A JP2009257124 A JP 2009257124A JP 2009257124 A JP2009257124 A JP 2009257124A JP 2011103029 A JP2011103029 A JP 2011103029A
Authority
JP
Japan
Prior art keywords
operation control
control signal
tout
arithmetic processing
data
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
JP2009257124A
Other languages
Japanese (ja)
Inventor
Makoto Kosone
真 小曽根
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2009257124A priority Critical patent/JP2011103029A/en
Publication of JP2011103029A publication Critical patent/JP2011103029A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To optimize operation timing of a plurality of processes without providing a task controller. <P>SOLUTION: Arithmetic cores 10[1]-10[3] respectively execute the processes A, B, C. The arithmetic core 10[i] executes the process when an operation control signal Tin[i] input to the arithmetic core 10[i] itself becomes active, generates an active or non-active operation control signal Tout[i] based on operation of the process, and outputs it. A signal generation circuit 30 outputs the operation control signal Tout[0] periodically becoming active. For example, each selection circuit is made to operate such that Tout[0] is input to the arithmetic core 10[1] as Tin[1] and that Tout[1] is input to the arithmetic core 10[2] as Tin[2]. Thereby, based on the operation of the process A, the process B can be operated when the need arises. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、様々な演算処理を行う演算処理装置に関する。   The present invention relates to an arithmetic processing apparatus that performs various arithmetic processes.

近年、複数のプロセスを同時に実行することのできる演算処理装置の開発が進められている。プロセスとは、あるまとまった一連の演算を指し、プロセスによって所定の演算処理が実行される。所謂スレッドもプロセスの一種である。プロセスは、定められた動作タイミングに従って繰り返し実行される。   In recent years, development of arithmetic processing devices capable of simultaneously executing a plurality of processes has been promoted. A process refers to a certain series of operations, and predetermined arithmetic processing is executed by the process. So-called threads are also a type of process. The process is repeatedly executed according to a predetermined operation timing.

実際のアプリケーションにおいて、通常、プロセスの最適な動作周期はプロセスごとに異なる。そのため、複数のプロセスの動作タイミングを全て同一にすれば、最適な動作周期にて動作しないプロセスが発生し、該プロセスでは動作効率が低下する。   In an actual application, the optimum operation cycle of a process usually varies from process to process. For this reason, if the operation timings of a plurality of processes are all made the same, a process that does not operate at an optimal operation cycle occurs, and the operation efficiency decreases in the process.

このような動作効率の低下を回避すべく、複数のプロセスを実行可能な演算処理装置には、タスクコントローラが設けられていることが多い(例えば、特許文献1参照)。図5に、タスクコントローラを有する従来の演算処理装置の概略ブロック図を示す。図5の演算処理装置には、各々がプロセスを実行する演算コア901及び902と、各演算コアの動作を制御するタスクコントローラ903が設けられている。タスクコントローラ903は、演算コア901及び902にて実行される各プロセスの動作周期が最適となるように、演算コア901及び902を制御する。演算コア901の演算結果に依存して演算コア902を動作させることが必要な場合もある。この場合、タスクコントローラ903は、演算コア901の出力演算データに基づき、演算コア902の動作の要否を判断して演算コア902の動作を制御する。   In order to avoid such a decrease in operating efficiency, a task controller is often provided in an arithmetic processing apparatus capable of executing a plurality of processes (see, for example, Patent Document 1). FIG. 5 shows a schematic block diagram of a conventional arithmetic processing unit having a task controller. The arithmetic processing apparatus of FIG. 5 is provided with arithmetic cores 901 and 902 that each execute a process, and a task controller 903 that controls the operation of each arithmetic core. The task controller 903 controls the arithmetic cores 901 and 902 so that the operation cycle of each process executed by the arithmetic cores 901 and 902 is optimized. Depending on the calculation result of the calculation core 901, it may be necessary to operate the calculation core 902. In this case, the task controller 903 determines whether or not the operation of the operation core 902 is necessary based on the output operation data of the operation core 901 and controls the operation of the operation core 902.

特開2008−242948号公報JP 2008-242948 A

図5の演算処理装置では、演算コアの個数が2であるが、タスクコントローラが動作を制御すべき演算コアは多数個存在する場合もあり、一般に、タスクコントローラの回路構成は複雑である。タスクコントローラを省略することができたならば、演算処理装置の構成簡素化及び低消費電力化が図られる。構成簡素化等が有益であることは、言うまでもない。   In the arithmetic processing unit of FIG. 5, the number of arithmetic cores is two, but there may be many arithmetic cores whose task controller should control the operation, and the circuit configuration of the task controller is generally complicated. If the task controller can be omitted, the configuration of the arithmetic processing device can be simplified and the power consumption can be reduced. Needless to say, simplification of the configuration is useful.

そこで本発明は、複数のプロセスの動作タイミングの最適化を簡素な構成で実現することのできる演算処理装置を提供することを目的とする。   Therefore, an object of the present invention is to provide an arithmetic processing apparatus that can realize operation timing optimization of a plurality of processes with a simple configuration.

本発明に係る動作制御信号群を形成する何れかの動作制御信号に従って演算処理を実行する複数のプロセスが動作する演算処理装置において、前記動作制御信号群に含まれる第1及び第2の動作制御信号の内、第1の動作制御信号を生成する信号生成回路を備え、 前記複数のプロセスに含まれる第1及び第2のプロセスの内、第1のプロセスは前記第1の動作制御信号に従って演算処理を実行する一方、前記第2のプロセスは前記第2の動作制御信号に従って演算処理を実行し、前記第2の動作制御信号は、前記第1のプロセスの動作に基づいて生成されることを特徴とする。   In an arithmetic processing apparatus in which a plurality of processes that execute arithmetic processing operate according to any of the operation control signals forming the operation control signal group according to the present invention, the first and second operation controls included in the operation control signal group A signal generation circuit for generating a first operation control signal among the signals, wherein the first process among the first and second processes included in the plurality of processes is operated according to the first operation control signal; While the process is executed, the second process executes an arithmetic process according to the second operation control signal, and the second operation control signal is generated based on the operation of the first process. Features.

上記演算処理装置によれば、第1のプロセスが第2のプロセスの実行を必要と判断したときに、第1のプロセスの動作に基づき、第2の動作制御信号の生成を介して第2のプロセスが実行される。信号生成回路による第1の動作制御信号の生成最適化、及び、第1のプロセスによる第2の動作制御信号の生成最適化を行えば、各プロセスの動作タイミングを最適化することが可能である。そして、これを実現するに当たり、上記演算処理装置では、図5に示すようなタスクコントローラが不要である。上記演算処理装置では、タスクコントローラの処理をプロセスが実行することで、タスクコントローラを不要としている。故に、構成簡素化及び低消費電力化が図られる。   According to the arithmetic processing device, when the first process determines that the second process needs to be executed, the second process is performed through the generation of the second operation control signal based on the operation of the first process. The process is executed. If the generation optimization of the first operation control signal by the signal generation circuit and the generation optimization of the second operation control signal by the first process are performed, the operation timing of each process can be optimized. . In order to realize this, the arithmetic processing device does not require a task controller as shown in FIG. In the arithmetic processing unit, the task controller is not required because the process of the task controller is executed by the process. Therefore, the configuration can be simplified and the power consumption can be reduced.

また例えば、各プロセスに対する動作制御信号を前記動作制御信号群の中から選択する、或いは、各プロセスに対する動作制御信号を前記動作制御信号群に含まれる複数の動作制御信号から生成する選択回路を、当該演算処理装置に更に設けてもよい。   Further, for example, a selection circuit that selects an operation control signal for each process from the operation control signal group, or generates an operation control signal for each process from a plurality of operation control signals included in the operation control signal group, You may provide further in the said arithmetic processing apparatus.

また例えば、当該演算処理装置には設定データが与えられ、前記設定データは、各プロセスの演算処理の内容を規定するデータと、前記選択回路の動作を規定するデータと、を含んでいても良い。   Further, for example, setting data is given to the arithmetic processing unit, and the setting data may include data defining the contents of arithmetic processing of each process and data defining the operation of the selection circuit. .

或いは例えば、当該演算処理装置には設定データが与えられ、前記設定データは、各プロセスの演算処理の内容を規定するデータと、前記信号生成回路の動作を規定するデータと、を含んでいても良い。   Alternatively, for example, setting data may be given to the arithmetic processing unit, and the setting data may include data defining the contents of arithmetic processing of each process and data defining the operation of the signal generation circuit. good.

本発明によれば、複数のプロセスの動作タイミングの最適化を簡素な構成で実現することのできる演算処理装置を提供することが可能となる。   According to the present invention, it is possible to provide an arithmetic processing apparatus capable of realizing optimization of operation timings of a plurality of processes with a simple configuration.

本発明の意義ないし効果は、以下に示す実施の形態の説明により更に明らかとなろう。ただし、以下の実施の形態は、あくまでも本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。   The significance or effect of the present invention will become more apparent from the following description of embodiments. However, the following embodiment is merely one embodiment of the present invention, and the meaning of the term of the present invention or each constituent element is not limited to that described in the following embodiment. .

本発明の一実施形態に係る演算処理装置の全体ブロック図である。1 is an overall block diagram of an arithmetic processing apparatus according to an embodiment of the present invention. 図1に示される1つの演算コアの内部ブロック図である。FIG. 2 is an internal block diagram of one arithmetic core shown in FIG. 1. 図2の演算コアに含まれるALUアレイ回路の内部構成図である。FIG. 3 is an internal configuration diagram of an ALU array circuit included in the arithmetic core of FIG. 2. 複数のプロセスの動作タイミング関係例を表す図である。It is a figure showing the operation timing relationship example of a some process. 従来の演算処理装置の概略ブロック図である。It is a schematic block diagram of the conventional arithmetic processing unit.

以下、本発明の一実施形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。また、本明細書では、記述の簡略化上、符号又は記号を表記することによって、その符号又は記号に対応する名称を省略又は簡略化することがある。例えば、後述の動作制御信号Tout[0]を、信号Tout[0]、又は、単にTout[0]と表記することがある(Tout[1]等についても同様)。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. In each of the drawings to be referred to, the same part is denoted by the same reference numeral, and redundant description regarding the same part is omitted in principle. In addition, in this specification, for the sake of simplification of description, a name corresponding to the code or symbol may be omitted or simplified by describing the code or symbol. For example, an operation control signal Tout [0] to be described later may be expressed as a signal Tout [0] or simply Tout [0] (the same applies to Tout [1] and the like).

図1は、本発明の一実施形態に係る演算処理装置1の全体ブロック図である。演算処理装置1は、演算コア10[1]、10[2]及び10[3]と、選択回路20[1]、20[2]及び20[3]と、信号生成回路30と、設定部40と、を備える。   FIG. 1 is an overall block diagram of an arithmetic processing apparatus 1 according to an embodiment of the present invention. The arithmetic processing apparatus 1 includes arithmetic cores 10 [1], 10 [2] and 10 [3], selection circuits 20 [1], 20 [2] and 20 [3], a signal generation circuit 30, and a setting unit. 40.

演算コア10[1]〜10[3]の夫々ではプロセスが実行される。プロセスとは、あるまとまった一連の演算を指し、プロセスによって所定の演算処理が実行される(或いは、プロセスそのものが演算処理であると解釈することできる)。所謂スレッドもプロセスの一種である。演算コア10[1]、10[2]及び10[3]にて実行されるプロセスを、夫々、プロセスA、プロセスB及びプロセスCと呼ぶ。   A process is executed in each of the arithmetic cores 10 [1] to 10 [3]. A process refers to a series of operations, and a predetermined operation process is executed by the process (or the process itself can be interpreted as an operation process). So-called threads are also a type of process. Processes executed by the arithmetic cores 10 [1], 10 [2], and 10 [3] are referred to as a process A, a process B, and a process C, respectively.

図1に示すように、演算コア10[1]、10[2]及び10[3]には、夫々、動作制御信号Tin[1]、Tin[2]及びTin[3]が入力され、演算コア10[1]、10[2]及び10[3]から、夫々、動作制御信号Tout[1]、Tout[2]及びTout[3]が出力される。信号生成回路30は、動作制御信号Tout[0]を出力する。   As shown in FIG. 1, operation control signals Tin [1], Tin [2], and Tin [3] are input to the arithmetic cores 10 [1], 10 [2], and 10 [3], respectively. Operation control signals Tout [1], Tout [2], and Tout [3] are output from the cores 10 [1], 10 [2], and 10 [3], respectively. The signal generation circuit 30 outputs an operation control signal Tout [0].

動作制御信号Tout[0]〜Tout[3]及びTin[1]〜Tin[3]の夫々は論理信号であって、アクティブ又はノンアクティブの論理値を有する。アクティブの論理値を有する動作制御信号Tout[0]をアクティブの動作制御信号Tout[0]と呼び、ノンアクティブの論理値を有する動作制御信号Tout[0]をノンアクティブの動作制御信号Tout[0]と呼ぶ。Tout[0]以外の動作制御信号についても同様である。   Each of the operation control signals Tout [0] to Tout [3] and Tin [1] to Tin [3] is a logic signal and has an active or inactive logic value. The operation control signal Tout [0] having an active logic value is referred to as an active operation control signal Tout [0], and the operation control signal Tout [0] having an inactive logic value is referred to as a non-active operation control signal Tout [0]. ]. The same applies to operation control signals other than Tout [0].

選択回路20[1]は、動作制御信号Tout[0]、Tout[2]及びTout[3]の内の何れか1つを選択し、選択した動作制御信号を動作制御信号Tin[1]として出力する。選択回路20[2]は、動作制御信号Tout[0]、Tout[1]及びTout[3]の内の何れか1つを選択し、選択した動作制御信号を動作制御信号Tin[2]として出力する。選択回路20[3]は、動作制御信号Tout[0]、Tout[1]及びTout[2]の内の何れか1つを選択し、選択した動作制御信号を動作制御信号Tin[3]として出力する。   The selection circuit 20 [1] selects any one of the operation control signals Tout [0], Tout [2], and Tout [3], and uses the selected operation control signal as the operation control signal Tin [1]. Output. The selection circuit 20 [2] selects any one of the operation control signals Tout [0], Tout [1], and Tout [3], and uses the selected operation control signal as the operation control signal Tin [2]. Output. The selection circuit 20 [3] selects any one of the operation control signals Tout [0], Tout [1], and Tout [2], and uses the selected operation control signal as the operation control signal Tin [3]. Output.

設定部40には設定データが格納されている。設定データには、信号生成回路30の動作を規定する第1設定データと、選択回路20[1]〜20[3]の動作を規定する第2設定データと、プロセスA、B及びCの演算処理の内容を規定する第3設定データと、が含まれる。第1設定データによって、動作制御信号Tout[0]がアクティブに成るタイミングが規定される。第2設定データによって、選択回路20[1]〜20[3]において何れのタイミングに何れの動作制御信号を選択するのかが規定される。   The setting unit 40 stores setting data. The setting data includes first setting data that defines the operation of the signal generation circuit 30, second setting data that defines the operation of the selection circuits 20 [1] to 20 [3], and operations of the processes A, B, and C. And third setting data that defines the content of the process. The timing at which the operation control signal Tout [0] becomes active is defined by the first setting data. The second setting data defines which operation control signal is selected at which timing in the selection circuits 20 [1] to 20 [3].

従って、信号生成回路30は、第1設定データに従うタイミングにおいてアクティブとなり、それ以外のタイミングでノンアクティブとなる動作制御信号Tout[0]を生成する。選択回路20[1]は、第2設定データに従うタイミングにおいて、動作制御信号Tout[0]、Tout[2]及びTout[3]の内の何れか1つを第2設定データに従って選択し、選択した信号を動作制御信号Tin[1]として出力する。選択回路20[2]及び20[3]についても同様である。   Therefore, the signal generation circuit 30 generates the operation control signal Tout [0] that becomes active at the timing according to the first setting data and becomes inactive at other timings. The selection circuit 20 [1] selects and selects one of the operation control signals Tout [0], Tout [2], and Tout [3] according to the second setting data at the timing according to the second setting data. The signal is output as the operation control signal Tin [1]. The same applies to the selection circuits 20 [2] and 20 [3].

信号生成回路30は、PLL(Phase-locked loop)等から成る回路であっても良いし、外部から入力される信号に基づいて動作制御信号Tout[0]を生成する回路であっても良い。   The signal generation circuit 30 may be a circuit including a PLL (Phase-locked loop) or the like, or may be a circuit that generates the operation control signal Tout [0] based on a signal input from the outside.

図2は、演算コア10[1]の内部ブロック図であり、演算コア10[1]は、ALUアレイ回路11[1]と、ランダムアクセスメモリにて形成されるデータRAM12[1]及びコマンドRAM13[1]と、シーケンサ14[1]と、動作制御信号生成回路15[1]と、を備える。   FIG. 2 is an internal block diagram of the arithmetic core 10 [1]. The arithmetic core 10 [1] includes an ALU array circuit 11 [1], a data RAM 12 [1] and a command RAM 13 formed by a random access memory. [1], a sequencer 14 [1], and an operation control signal generation circuit 15 [1].

演算コア10[2]及び10[3]の夫々の内部ブロック図は、演算コア10[1]におけるそれと同様であるため、図示を省略する。ALUアレイ回路11[1]、データRAM12[1]、コマンドRAM13[1]、シーケンサ14[1]及び動作制御信号生成回路15[1]と同等の機能を備えるALUアレイ回路11[2]、データRAM12[2]、コマンドRAM13[2]、シーケンサ14[2]及び動作制御信号生成回路15[2]が演算コア10[2]に設けられ、ALUアレイ回路11[1]、データRAM12[1]、コマンドRAM13[1]、シーケンサ14[1]及び動作制御信号生成回路15[1]と同等の機能を備えるALUアレイ回路11[3]、データRAM12[3]、コマンドRAM13[3]、シーケンサ14[3]及び動作制御信号生成回路15[3]が演算コア10[3]に設けられている。   The internal block diagrams of the arithmetic cores 10 [2] and 10 [3] are the same as those in the arithmetic core 10 [1], and thus the illustration is omitted. ALU array circuit 11 [2] having functions equivalent to the ALU array circuit 11 [1], data RAM 12 [1], command RAM 13 [1], sequencer 14 [1] and operation control signal generation circuit 15 [1], data A RAM 12 [2], a command RAM 13 [2], a sequencer 14 [2], and an operation control signal generation circuit 15 [2] are provided in the arithmetic core 10 [2], an ALU array circuit 11 [1], and a data RAM 12 [1]. , ARAM array circuit 11 [3], data RAM 12 [3], command RAM 13 [3], sequencer 14 having the same functions as command RAM 13 [1], sequencer 14 [1] and operation control signal generation circuit 15 [1] [3] and an operation control signal generation circuit 15 [3] are provided in the arithmetic core 10 [3].

プロセスAは、コマンドRAM13[1]から提供されるコマンドの下、ALUアレイ回路11[1]にて実行され、プロセスBは、コマンドRAM13[2]から提供されるコマンドの下、ALUアレイ回路11[2]にて実行され、プロセスCは、コマンドRAM13[3]から提供されるコマンドの下、ALUアレイ回路11[3]にて実行される。演算コア10[1]〜10[3]にて実行されるプロセスの具体的内容が異なる以外、演算コア10[1]〜10[3]は同様のものであるので、特に必要の無い限り、以下では、演算コア10[1]の構成及び動作を説明し、演算コア10[2]及び10[3]についての説明を割愛する。但し、変数i又はjを用いて、演算コア10[1]〜10[3]の共通事項等を説明することもある。変数i又はjは1以上3以下の整数であって、i≠jである。   The process A is executed by the ALU array circuit 11 [1] under the command provided from the command RAM 13 [1], and the process B is executed under the command provided from the command RAM 13 [2]. The process C is executed in [2], and the process C is executed in the ALU array circuit 11 [3] under the command provided from the command RAM 13 [3]. The operation cores 10 [1] to 10 [3] are the same except that the specific contents of the processes executed by the operation cores 10 [1] to 10 [3] are different. Hereinafter, the configuration and operation of the arithmetic core 10 [1] will be described, and description of the arithmetic cores 10 [2] and 10 [3] will be omitted. However, common items of the arithmetic cores 10 [1] to 10 [3] may be described using the variable i or j. The variable i or j is an integer of 1 to 3, and i ≠ j.

ALUアレイ回路11[1]は、図3に示されるようなリコンフィギャラブル回路であり、論理回路の再構成を可能とする機能を備える。ALUアレイ回路11[1]は、四則演算や論理演算などを行う、複数段に分けて配列された複数のALU(Arithmetic and Logic Unit)と、各ALUの出力データを保持する保持回路(D型フリップフロップ等)と、前段のALUと後段のALUを接続することで前段のALUの出力データを後段のALUに入力する接続部と、を備える。各ALUにて実行される演算の内容及び接続部における接続関係は、上記第3設定データを変更することによって変更可能である。   The ALU array circuit 11 [1] is a reconfigurable circuit as shown in FIG. 3, and has a function that enables reconfiguration of the logic circuit. The ALU array circuit 11 [1] performs four arithmetic operations, logical operations, and the like, a plurality of ALUs (Arithmetic and Logic Units) arranged in multiple stages, and a holding circuit (D type) that holds output data of each ALU Flip-flop and the like) and a connection unit for connecting the output data of the preceding ALU to the succeeding ALU by connecting the preceding ALU and the succeeding ALU. The contents of the calculation executed in each ALU and the connection relationship in the connection unit can be changed by changing the third setting data.

データRAM12[1]は、ALUアレイ回路11[1]の演算によって得られたALUアレイ回路11[1]の出力演算データを記憶すると共に、データRAM12[1]に記憶されたデータをALUアレイ回路11[1]に与える。演算処理装置1に設けられたデータ共有部(不図示)を介して、ALUアレイ回路11[i]内のデータRAM12[i]の記録データを、他のALUアレイ回路11[j]内のデータRAM12[j]に転送することが可能となっている。   The data RAM 12 [1] stores the output operation data of the ALU array circuit 11 [1] obtained by the operation of the ALU array circuit 11 [1], and the data RAM 12 [1] stores the data stored in the data RAM 12 [1]. 11 [1]. The recording data in the data RAM 12 [i] in the ALU array circuit 11 [i] is transferred to the data in the other ALU array circuit 11 [j] via a data sharing unit (not shown) provided in the arithmetic processing unit 1. The data can be transferred to the RAM 12 [j].

従って例えば、ALUアレイ回路11[2]の演算によって得られたALUアレイ回路11[2]の出力演算データを、データRAM12[2]及び12[1]を介してALUアレイ回路11[1]に与えることが可能であり、ALUアレイ回路11[1]は、ALUアレイ回路11[2]の出力演算データを用いてプロセスAを実行することが可能である。逆に、ALUアレイ回路11[1]の演算によって得られたALUアレイ回路11[1]の出力演算データを、データRAM12[1]及び12[2]を介してALUアレイ回路11[2]に与えることが可能であり、ALUアレイ回路11[2]は、ALUアレイ回路11[1]の出力演算データを用いてプロセスBを実行することが可能である。   Therefore, for example, the output operation data of the ALU array circuit 11 [2] obtained by the operation of the ALU array circuit 11 [2] is transferred to the ALU array circuit 11 [1] via the data RAMs 12 [2] and 12 [1]. The ALU array circuit 11 [1] can execute the process A using the output operation data of the ALU array circuit 11 [2]. Conversely, the output operation data of the ALU array circuit 11 [1] obtained by the operation of the ALU array circuit 11 [1] is transferred to the ALU array circuit 11 [2] via the data RAMs 12 [1] and 12 [2]. The ALU array circuit 11 [2] can execute the process B using the output operation data of the ALU array circuit 11 [1].

コマンドRAM13[1]は、ALUアレイ回路11[1]に提供すべきコマンドを表すコマンドデータを格納している。演算コア10[1]において、コマンドは、ALUアレイ回路11[1]に対して所定の演算処理の実行を指示する命令である。ユーザは、コマンドデータを変更することで所望の演算処理を各演算コア10[i]で実行させることができる。コマンドデータの変更を、上記第3設定データの変更によって実現することができる。ユーザは、C言語等のプログラミング言語を用いて記述されたプログラムを第3設定データとして設定部40に与えることで、該プログラムを表すコマンド列を各コマンドRAM13[i]に格納させることができる。尚、ここにおけるユーザとは、例えば、演算処理装置1の利用者である電機製品メーカーの開発者である。   The command RAM 13 [1] stores command data representing a command to be provided to the ALU array circuit 11 [1]. In the arithmetic core 10 [1], the command is an instruction for instructing the ALU array circuit 11 [1] to execute predetermined arithmetic processing. The user can execute desired arithmetic processing in each arithmetic core 10 [i] by changing the command data. The command data can be changed by changing the third setting data. The user can store a command string representing the program in each command RAM 13 [i] by giving a program described using a programming language such as C language to the setting unit 40 as the third setting data. Note that the user here is, for example, a developer of an electrical product manufacturer who is a user of the arithmetic processing device 1.

シーケンサ14[1]は、動作制御信号Tin[1]及びALUアレイ回路11[1]から出力されるシーケンサ制御データに従って、コマンドRAM13[1]のアドレスを指定するアドレスデータをコマンドRAM13[1]に出力する。アドレスデータがコマンドRAM13[1]に与えられた時、コマンドRAM13[1]は、該アドレスデータに指定されたアドレスに格納されているコマンドデータをALUアレイ回路11[1]に出力する。   The sequencer 14 [1] sends address data specifying the address of the command RAM 13 [1] to the command RAM 13 [1] in accordance with the operation control signal Tin [1] and the sequencer control data output from the ALU array circuit 11 [1]. Output. When the address data is given to the command RAM 13 [1], the command RAM 13 [1] outputs the command data stored at the address specified by the address data to the ALU array circuit 11 [1].

シーケンサ制御データは、コマンドRAM13[1]に供給されるべきアドレスデータを、ALUアレイ回路11[1]の演算結果に基づきALUアレイ回路11[1]自身が制御するためのものである。例えば、回路11[1]の演算処理内で「Yes」及び「No」のどちらかを選択する分岐処理が発生した場合において、回路11[1]の演算結果に応じて「Yes」が選択されると、回路11[1]は第1サブルーチンに対応する第1シーケンサ制御データを出力する一方、回路11[1]の演算結果に応じて「No」が選択されると、回路11[1]は第2サブルーチンに対応する第2シーケンサ制御データを出力する。シーケンサ14[1]は、第1シーケンサ制御データが与えられると、第1サブルーチンのプログラム(コマンド)の開始アドレスをアドレスデータとしてコマンドRAM13[1]に供給する一方、第2シーケンサ制御データが与えられると、第2サブルーチンのプログラム(コマンド)の開始アドレスをアドレスデータとしてコマンドRAM13[1]に供給する。これにより、第1シーケンサ制御データの出力後には、速やかに第1サブルーチンの演算処理が回路11[1]にて実行され、第2シーケンサ制御データの出力後には、速やかに第2サブルーチンの演算処理が回路11[1]にて実行されるようになる。   The sequencer control data is for the ALU array circuit 11 [1] itself to control the address data to be supplied to the command RAM 13 [1] based on the calculation result of the ALU array circuit 11 [1]. For example, when a branch process for selecting either “Yes” or “No” occurs in the arithmetic processing of the circuit 11 [1], “Yes” is selected according to the arithmetic result of the circuit 11 [1]. Then, the circuit 11 [1] outputs the first sequencer control data corresponding to the first subroutine. On the other hand, when “No” is selected according to the calculation result of the circuit 11 [1], the circuit 11 [1]. Outputs second sequencer control data corresponding to the second subroutine. When given the first sequencer control data, the sequencer 14 [1] supplies the start address of the program (command) of the first subroutine to the command RAM 13 [1] as address data, while being given the second sequencer control data. Then, the start address of the program (command) of the second subroutine is supplied to the command RAM 13 [1] as address data. As a result, after the output of the first sequencer control data, the arithmetic processing of the first subroutine is immediately executed by the circuit 11 [1], and after the output of the second sequencer control data, the arithmetic processing of the second subroutine is promptly performed. Is executed by the circuit 11 [1].

動作制御信号生成回路15[1]は、動作制御信号Tin[1]及びALUアレイ回路11[1]から出力される動作制御データに基づいて動作制御信号Tout[1]を生成し、生成した信号Tout[1]を出力する。ALUアレイ回路11[1]は、プロセスAの中で、所望の演算に加え、自身の演算コア10[1]から出力されるべき動作制御信号Tout[1]をアクティブにするか否かを決定し、その決定内容に従った動作制御データを回路15[1]に出力する。回路15[1]は、与えられた動作制御データを保持し、Tin[1]がアクティブになった時点で保持している動作制御データの値を、動作制御信号Tout[1]として出力する。プロセスAの中で動作制御信号Tout[1]をアクティブにすると決定された場合の動作制御データの値はアクティブ(例えば1)であり、そうでない場合、その値はノンアクティブ(例えば0)である。   The operation control signal generation circuit 15 [1] generates the operation control signal Tout [1] based on the operation control signal Tin [1] and the operation control data output from the ALU array circuit 11 [1], and the generated signal Tout [1] is output. In the process A, the ALU array circuit 11 [1] determines whether or not to activate the operation control signal Tout [1] to be output from its own operation core 10 [1] in addition to a desired operation. Then, the operation control data according to the determined content is output to the circuit 15 [1]. The circuit 15 [1] holds the given operation control data, and outputs the value of the operation control data held when Tin [1] becomes active as the operation control signal Tout [1]. The value of the operation control data when the operation control signal Tout [1] is determined to be active in the process A is active (for example, 1), otherwise, the value is non-active (for example, 0). .

各演算コア10[i]は、自身に入力される動作制御信号Tin[i]がアクティブになったタイミングにて、プロセスの実行を開始する。具体的には、シーケンサ14[1]に与えられる動作制御信号Tin[1]がノンアクティブからアクティブに遷移した時点において、シーケンサ14[1]はプロセスAの開始処理に対応したコマンドRAM13[1]のアドレスを指定し、これによってプロセスAの実行が開始される。演算コア10[2]及び10[3]についても同様である。動作制御信号Tin[i]におけるノンアクティブからアクティブへの遷移が周期的に或いは非周期的に生じることによって、各演算コア10[i]では、対応するプロセスが繰り返し実行される。尚、第1及び第2サブルーチンを例示した上述の説明からも明らかであるが、プロセスA内で実際に実行される演算は、プロセスA内の分岐処理によって時々で異なる場合がある(他のプロセスについても同様)。   Each arithmetic core 10 [i] starts executing the process at the timing when the operation control signal Tin [i] input to itself becomes active. Specifically, when the operation control signal Tin [1] given to the sequencer 14 [1] transitions from non-active to active, the sequencer 14 [1] corresponds to the command RAM 13 [1] corresponding to the process A start processing. Thus, the execution of the process A is started. The same applies to the arithmetic cores 10 [2] and 10 [3]. The transition from non-active to active in the operation control signal Tin [i] occurs periodically or non-periodically, so that the corresponding process is repeatedly executed in each arithmetic core 10 [i]. As is clear from the above description illustrating the first and second subroutines, the operation actually executed in the process A may differ from time to time depending on the branch processing in the process A (other processes). The same applies to.

上述の第1、第2及び第3設定データを含む設定データは、外部から提供されても良く、ユーザは、演算処理装置1で実行させたいアプリケーションの内容によって設定データを自由に設計することができる。演算処理装置1では、設定データの設計を通じて、ユーザが各動作制御信号を自由に設定することができるため、様々なアプリケーションに対応することができる。   The setting data including the first, second, and third setting data described above may be provided from the outside, and the user can freely design the setting data according to the contents of the application to be executed by the arithmetic processing device 1. it can. In the arithmetic processing unit 1, the user can freely set each operation control signal through the design of the setting data, so that it can cope with various applications.

図4を参照して、プロセスA及びBの動作タイミング例を説明する。プロセスAは、離散的に順次訪れる動作タイミングXを基準にした各区間において動作し、プロセスBは、離散的に順次訪れる動作タイミングYを基準にした各区間において動作する。図4において、上方側に記載された8つの矢印の夫々は動作タイミングXに対応しており、下方側に記載された4つの矢印の夫々は動作タイミングYに対応している。   With reference to FIG. 4, an example of operation timing of processes A and B will be described. The process A operates in each section based on the operation timing X that is discretely sequentially visited, and the process B operates in each section that is based on the operation timing Y that is discretely sequentially visited. In FIG. 4, each of the eight arrows described on the upper side corresponds to the operation timing X, and each of the four arrows described on the lower side corresponds to the operation timing Y.

時間が経過するにつれて、基準タイミングT1、T2、T3、T4、T5、T6、T7、T8・・・、がこの順番で訪れるものとする。即ち基準タイミングTk+1は基準タイミングTkの後に訪れるタイミングである(kは自然数)。隣接する基準タイミング間の時間長さは一定であるとする(但し、それは一定でなくても構わない)。 Assume that the reference timings T 1 , T 2 , T 3 , T 4 , T 5 , T 6 , T 7 , T 8 ... Visit in this order as time elapses. That is, the reference timing T k + 1 is a timing that comes after the reference timing T k (k is a natural number). It is assumed that the time length between adjacent reference timings is constant (however, it may not be constant).

図4の動作例では、プロセスAを実行する演算コア10[1]は動作制御信号Tout[0]に従って動作し(換言すれば、プロセスAは動作制御信号Tout[0]に従って演算処理を実行し)、プロセスBを実行する演算コア10[2]は演算コア10[1]にて生成された動作制御信号Tout[1]に従って動作する(換言すれば、プロセスBはプロセスAの動作に基づいて生成された動作制御信号Tout[1]に従って演算処理を実行する)。これを実現すべく、選択回路20[1]は、常にTout[0]をTin[1]として選択する、或いは、少なくとも動作タイミングXにおいてTout[0]をTin[1]として選択する。同様に、選択回路20[2]は、常にTout[1]をTin[2]として選択する、或いは、少なくとも動作タイミングYにおいてTout[1]をTin[2]として選択する。このため、図4の動作例の実現時においては、選択回路20[1]及び20[2]を演算処理装置1から省略することも可能である(この場合、Tout[0]を直接Tin[1]として演算コア10[1]に入力すると共に、Tout[1]を直接Tin[2]として演算コア10[2]に入力すればよい)。   In the operation example of FIG. 4, the arithmetic core 10 [1] executing the process A operates according to the operation control signal Tout [0] (in other words, the process A executes arithmetic processing according to the operation control signal Tout [0]. ), The arithmetic core 10 [2] executing the process B operates according to the operation control signal Tout [1] generated by the arithmetic core 10 [1] (in other words, the process B is based on the operation of the process A). The arithmetic processing is executed according to the generated operation control signal Tout [1]). In order to realize this, the selection circuit 20 [1] always selects Tout [0] as Tin [1], or at least at the operation timing X, selects Tout [0] as Tin [1]. Similarly, the selection circuit 20 [2] always selects Tout [1] as Tin [2], or selects Tout [1] as Tin [2] at least at the operation timing Y. Therefore, when realizing the operation example of FIG. 4, the selection circuits 20 [1] and 20 [2] can be omitted from the arithmetic processing unit 1 (in this case, Tout [0] is directly set to Tin [ 1] to the arithmetic core 10 [1] and Tout [1] may be directly input to the arithmetic core 10 [2] as Tin [2].

図4の動作例に限らず、演算処理装置1にて実現しようとする動作の内容によっては、演算処理装置1から選択回路を省略することも可能である。例えば、“演算コア10[i]に入力される動作制御信号Tin[i]が動作制御信号Tout[0]〜Tout[3]の何れであるかが固定されている(即ち、Tout[0]〜Tout[3]の内の何れがTin[i]として演算コア10[i]に入力されるのかが予め定められており、その定めが時間経過に対して不変である)”という条件が満たされるならば演算処理装置1から選択回路20[i]を省略することが可能である。図4の動作例は、この条件を満たす動作の一例である。   The selection circuit may be omitted from the arithmetic processing device 1 depending on the content of the operation to be realized by the arithmetic processing device 1 without being limited to the operation example of FIG. For example, “whether the operation control signal Tin [i] input to the arithmetic core 10 [i] is any of the operation control signals Tout [0] to Tout [3] is fixed (that is, Tout [0] To which Tout [3] is input to the arithmetic core 10 [i] as Tin [i] is determined in advance, and the determination is invariant with the passage of time). If so, the selection circuit 20 [i] can be omitted from the arithmetic processing unit 1. The operation example of FIG. 4 is an example of an operation that satisfies this condition.

k番目の動作タイミングXは基準タイミングTkと一致する。演算コア10[1]は、k番目の動作タイミングXから始まる区間であって且つ所定時間長さを有する区間において、k回目のプロセスAを実行する。これを実現すべく、信号生成回路30は、基準タイミングTkにおいてTout[0]をアクティブとし、基準タイミングTk以外のタイミングにおいてTout[0]をノンアクティブとする。 The k-th operation timing X coincides with the reference timing T k . The arithmetic core 10 [1] executes the k-th process A in a section starting from the kth operation timing X and having a predetermined time length. In order to achieve this, the signal generating circuit 30, the Tout [0] and active at the reference timing T k, the Tout [0] nonactive in timing other than the reference timing T k.

k回目のプロセスAを特にプロセスA[k]と表記する。1回分のプロセスAの動作時間は、隣接する基準タイミングTk及びTk+1間の時間長さ以下である。従って例えば、基準タイミングT1と一致する1番目の動作タイミングXにおいてプロセスA[1]が実行開始され、プロセスA[1]は基準タイミングT2までに終了する。同様に例えば、基準タイミングT2と一致する2番目の動作タイミングXにおいてプロセスA[2]が実行開始され、プロセスA[2]は基準タイミングT3までに終了する。プロセスA[3]等についても同様である。 The k-th process A is particularly expressed as process A [k]. The operation time of one process A is equal to or shorter than the time length between adjacent reference timings T k and T k + 1 . Thus, for example, in the first operation timing X that matches the reference timing T 1 process A [1] is started running, the process A [1] is completed before the reference timing T 2. Similarly, for example, the process A [2] starts to be executed at the second operation timing X that coincides with the reference timing T 2, and the process A [2] ends by the reference timing T 3 . The same applies to the process A [3] and the like.

図4の動作例では、2回分のプロセスAの実行に対して1回分のプロセスBが実行された後、3回分のプロセスAの実行に対して1回分のプロセスBが実行され、更にその後、2回分のプロセスAの実行に対して1回分のプロセスBが実行されている。その後、同様の実行比率にてプロセスA及びBが反復実行される。具体的には、1番目、2番目、3番目及び4番目の動作タイミングYは、夫々、基準タイミングT1、T3、T6及びT8である。 In the operation example of FIG. 4, after one process B is executed for two processes A, one process B is executed for three processes A, and then One process B is executed for two processes A executed. Thereafter, processes A and B are repeatedly executed at the same execution ratio. Specifically, the first, second, third and fourth operation timings Y are reference timings T 1 , T 3 , T 6 and T 8 , respectively.

演算コア10[2]は、k番目の動作タイミングYから始まる区間であって且つ所定時間長さを有する区間において、k回目のプロセスBを実行する。k回目のプロセスBを特にプロセスB[k]と表記する。1回分のプロセスBの動作時間は、隣接する基準タイミングTk及びTk+1間の時間長さの2倍又は2倍未満である。但し、プロセスB[2]の動作時間は、基準タイミングTk及びTk+1間の時間長さの2倍より長くても構わない(但し3倍以下とされる)。 The arithmetic core 10 [2] executes the k-th process B in a section starting from the kth operation timing Y and having a predetermined time length. The k-th process B is particularly expressed as process B [k]. The operation time of one process B is twice or less than twice the time length between adjacent reference timings T k and T k + 1 . However, the operation time of the process B [2] may be longer than twice the time length between the reference timings T k and T k + 1 (however, it is 3 times or less).

従って、基準タイミングT1と一致する1番目の動作タイミングYにおいてプロセスB[1]が実行開始され、プロセスB[1]は基準タイミングT3までに終了する。基準タイミングT3と一致する2番目の動作タイミングYにおいてプロセスB[2]が実行開始され、プロセスB[2]は基準タイミングT6までに終了する。基準タイミングT6と一致する3番目の動作タイミングYにおいてプロセスB[3]が実行開始され、プロセスB[3]は基準タイミングT8までに終了する。プロセスB[3]以降のプロセスBも同様である。 Accordingly, in the first operation timing Y which coincides with the reference timing T 1 process B [1] is started running, the process B [1] is completed before the reference timing T 3. In the reference timing T 3 and the second operation timing Y matching process B [2] is started running, the process B [2] is completed before the reference timing T 6. Process B [3] is started performed in the third operation timing Y which coincides with the reference timing T 6, the process B [3] is completed before the reference timing T 8. The same applies to process B after process B [3].

今、「プロセスAの2回実行に対して1回だけ動作制御信号Tout[1]をアクティブにし、その後、プロセスAの3回実行に対して1回だけ動作制御信号Tout[1]をアクティブにし、更にその後、プロセスAの2回実行に対して1回だけ動作制御信号Tout[1]をアクティブにする」という一連の動作を、便宜上、動作αと呼ぶ。プロセスAのプログラムによって動作αが実現され、そのプログラムに沿った演算処理がALUアレイ回路11[1]にて実行される(プロセスAのプログラムを表すコマンド列はコマンドRAM13[1]に格納されている)。   Now, “the operation control signal Tout [1] is activated only once for the second execution of the process A, and then the operation control signal Tout [1] is activated only once for the third execution of the process A. Then, a series of operations “activate the operation control signal Tout [1] only once for the second execution of the process A” will be referred to as an operation α for convenience. The operation α is realized by the program of the process A, and the arithmetic processing according to the program is executed by the ALU array circuit 11 [1] (a command sequence representing the program of the process A is stored in the command RAM 13 [1]. )

プロセスAの演算結果と関係なく動作αが実現されるように、プロセスAのプログラムが形成されていても良い。この場合、ALUアレイ回路11[1]は、プロセスAの演算結果と関係なく、プロセスA[2]の中で基準タイミングT3以前にアクティブの値を有する動作制御データを回路15[1]に出力し、プロセスA[5]の中で基準タイミングT6以前にアクティブの値を有する動作制御データを回路15[1]に出力し、プロセスA[7]の中で基準タイミングT8以前にアクティブの値を有する動作制御データを回路15[1]に出力する。プロセスA[2]の中で基準タイミングT3以前にアクティブの値を有する動作制御データが回路15[1]に出力された場合、基準タイミングT3においてアクティブの動作制御信号Tout[1]が回路15[1]から出力され、結果、プロセスB[2]が起動する。基準タイミングT3以外の基準タイミングに関する動作も同様である。 The program for the process A may be formed so that the operation α is realized regardless of the calculation result of the process A. In this case, ALU array circuit 11 [1], regardless of the operation result of the process A, the operation control data having a value of active reference timing T 3 earlier in the process A [2] to the circuit 15 [1] The operation control data having an active value before the reference timing T 6 in the process A [5] is output to the circuit 15 [1], and is active before the reference timing T 8 in the process A [7]. Is output to the circuit 15 [1]. When operation control data having an active value before the reference timing T 3 in the process A [2] is output to the circuit 15 [1], the active operation control signal Tout [1] is output to the circuit at the reference timing T 3 . 15 [1], process B [2] is started as a result. The operation related to the reference timing other than the reference timing T 3 is the same.

或いは、プロセスAの演算結果に応じて動作タイミングYが決定されても良い。但し、この場合は、プロセスAの演算結果に応じて、動作タイミングYが図4に示すものと異なってくる可能性がある。即ち、プロセスAの演算結果に応じて、動作αそのものが実現されることもあるし、動作αと異なる動作が実現されることもある(例えば、プロセスA[4]の演算結果に応じて3番目の動作タイミングYがT5になることもある)。 Alternatively, the operation timing Y may be determined according to the calculation result of the process A. However, in this case, there is a possibility that the operation timing Y differs from that shown in FIG. That is, the operation α itself may be realized according to the calculation result of the process A, or an operation different from the operation α may be realized (for example, 3 according to the calculation result of the process A [4]). th operation timing Y is sometimes become T 5).

プロセスAの演算結果と関係なく動作タイミングYが決定される場合でも、プロセスAの演算結果に応じて動作タイミングYが決定される場合でも、動作タイミングYがプロセスAの動作に基づいて決定されることに変わりはない(換言すれば、アクティブの動作制御信号Tout[1]及びTin[2]がプロセスAの動作に基づいて生成されることに変わりはない)。尚、プロセスAの演算結果とは、ALUアレイ回路11[1]の演算によって得られたALUアレイ回路11[1]の出力演算データを含む。同様に、プロセスBの演算結果とは、ALUアレイ回路11[2]の演算によって得られたALUアレイ回路11[2]の出力演算データを含む。プロセスCについても同様である。   Whether the operation timing Y is determined regardless of the calculation result of the process A or the operation timing Y is determined according to the calculation result of the process A, the operation timing Y is determined based on the operation of the process A. In other words, there is no change (in other words, the active operation control signals Tout [1] and Tin [2] are generated based on the operation of the process A). The calculation result of the process A includes the output calculation data of the ALU array circuit 11 [1] obtained by the calculation of the ALU array circuit 11 [1]. Similarly, the operation result of process B includes output operation data of the ALU array circuit 11 [2] obtained by the operation of the ALU array circuit 11 [2]. The same applies to process C.

注目時点におけるプロセスBを、注目時点の直前に実行されたプロセスAの演算結果を用いて行うことができる。即ち例えば、演算コア10[2]は、プロセスA[2]の演算結果を用いてプロセスB[2]を実行することができると共に、プロセスA[5]の演算結果を用いてプロセスB[3]を実行することができ、そのような動作が実現されるように設定データを定めておくことができる。或るデータのサンプリング速度を比較的高いものから比較的低いものに変換する処理は一般的にダウンサンプリングと呼ばれるが、変換前のそれをプロセスAに対応させ、変換後のそれをプロセスBに対応させて考えた場合、上述の動作によってダウンサンプリングのような処理が実現される。尚、過去の複数回分のプロセスAの演算結果を用いてプロセスBを実行することも可能である。即ち例えば、演算コア10[2]は、プロセスA[4]及びA[5]の演算結果を用いてプロセスB[3]を実行するようにしても良い。   The process B at the point of interest can be performed using the calculation result of the process A executed immediately before the point of interest. That is, for example, the operation core 10 [2] can execute the process B [2] using the operation result of the process A [2] and use the operation result of the process A [5] to process B [3]. And the setting data can be determined so that such an operation is realized. The process of converting the sampling rate of certain data from a relatively high to a relatively low is generally referred to as downsampling, but it corresponds to process A before conversion and process B after conversion. When considered, processing such as downsampling is realized by the above-described operation. It is also possible to execute the process B using the calculation results of the process A for a plurality of past times. That is, for example, the operation core 10 [2] may execute the process B [3] using the operation results of the processes A [4] and A [5].

また反対に、注目時点におけるプロセスAを、注目時点の直前に実行されたプロセスBの演算結果を用いて行うこともできる。即ち例えば、演算コア10[1]は、プロセスB[1]の演算結果を用いてプロセスA[3]、A[4]及びA[5]を実行することができると共に、プロセスB[2]の演算結果を用いてプロセスA[6]及びA[7]を実行することができ、そのような動作が実現されるように設定データを定めておくことができる。或るデータのサンプリング速度を比較的低いものから比較的高いものに変換する処理は一般的にアップサンプリングと呼ばれるが、変換前のそれをプロセスBに対応させ、変換後のそれをプロセスAに対応させて考えた場合、上述の動作によってアップサンプリングのような処理が実現される。尚、過去の複数回分のプロセスBの演算結果を用いてプロセスAを実行することも可能である。即ち例えば、演算コア10[1]は、プロセスB[1]及びB[2]の演算結果を用いてプロセスA[6]及びA[7]を実行するようにしても良い。   Conversely, the process A at the point of interest can be performed using the calculation result of the process B executed immediately before the point of interest. That is, for example, the operation core 10 [1] can execute the processes A [3], A [4], and A [5] using the operation result of the process B [1] and the process B [2]. Processes A [6] and A [7] can be executed using the result of the calculation, and setting data can be determined so that such an operation is realized. The process of converting the sampling rate of certain data from relatively low to relatively high is generally called up-sampling, but it corresponds to process B before conversion and process A after conversion. When considered, processing such as upsampling is realized by the above-described operation. Note that it is also possible to execute the process A using the calculation results of the process B for a plurality of past times. That is, for example, the computation core 10 [1] may execute the processes A [6] and A [7] using the computation results of the processes B [1] and B [2].

図4には、プロセスCの動作タイミングが示されていないが、プロセスCを、離散的に順次訪れる動作タイミングZを基準にした各区間において動作させることができる。選択回路20[3]を介してTout[0]をTin[3]として演算コア10[3]に供給することにより動作タイミングZを動作タイミングXと一致させるようにしても良いし、或いは、選択回路20[3]を介してTout[1]をTin[3]として演算コア10[3]に供給することにより動作タイミングZを動作タイミングYと一致させるようにしても良い。更に或いは、選択回路20[3]を介してTout[2]をTin[3]として演算コア10[3]に供給することにより動作タイミングZを動作タイミングX及びYと異ならせても良い。   Although the operation timing of the process C is not shown in FIG. 4, the process C can be operated in each section based on the operation timing Z that is discretely sequentially visited. The operation timing Z may be made to coincide with the operation timing X by supplying Tout [0] as Tin [3] to the arithmetic core 10 [3] via the selection circuit 20 [3], or may be selected. The operation timing Z may coincide with the operation timing Y by supplying Tout [1] as Tin [3] to the arithmetic core 10 [3] via the circuit 20 [3]. Alternatively, the operation timing Z may be made different from the operation timings X and Y by supplying Tout [2] as Tin [3] to the arithmetic core 10 [3] via the selection circuit 20 [3].

尚、図4の動作例では、個々の動作タイミングYが何れかの動作タイミングXと一致している。即ち、動作タイミングYを形成する夫々のタイミングT1、T3、T6・・・は、動作タイミングXを形成する一部のタイミングT1、T3、T6・・・と一致している。しかしながら、前者のタイミングと後者のタイミングは、多少前後にずれていても良い。即ち例えば、プロセスB[1]が実行開始される1番目の動作タイミングYは(T1+ΔT)であっても良いし、プロセスB[2]が実行開始される2番目の動作タイミングYは(T3+ΔT)であっても良い(ΔTは、時間を単位とした、正又は負の値)。3番目以降の動作タイミングYについても同様である。 In the operation example of FIG. 4, each operation timing Y coincides with any operation timing X. That is, the respective timings T 1 , T 3 , T 6 ... Forming the operation timing Y coincide with some of the timings T 1 , T 3 , T 6 . . However, the former timing and the latter timing may be slightly shifted back and forth. That is, for example, the first operation timing Y at which the process B [1] is started may be (T 1 + ΔT), and the second operation timing Y at which the process B [2] is started is ( T 3 + ΔT) (ΔT is a positive or negative value in units of time). The same applies to the third and subsequent operation timings Y.

仮に、演算コアにて動作制御信号が生成されない場合、信号生成回路30にて生成される動作制御信号Tout[0]がTin[2]として演算コア10[2]に入力されることになる。この場合、プロセスB[1]の処理は2つの区間(即ち、T1及びT2間の区間とT2及びT3間の区間)に分割されて実行されることになって、分割を伴う処理の冗長が発生し、処理効率が低下する。例えば、プロセスB[1]の全体的な演算を完了させるためには、T1及びT2間の区間の演算データをT2及びT3間の区間の演算に反映させる必要があり、この反映を実現するために、前者の区間では演算データを一旦データRAM12[2]に保持させ且つ後者の区間では保持演算データを読み出す処理が必要となる(このような処理が必要となる分、処理効率が低下する)。更に、上記冗長の発生に伴って、プロセスB[1]をT1及びT3間の区間で完了することができず、プロセスB[1]の一部をT3及びT4間の区間を用いて実行せざるを得なくなる場合もある。 If an operation control signal is not generated by the arithmetic core, the operation control signal Tout [0] generated by the signal generation circuit 30 is input to the arithmetic core 10 [2] as Tin [2]. In this case, the process B [1] is executed by being divided into two sections (ie, a section between T 1 and T 2 and a section between T 2 and T 3 ). Processing redundancy occurs and processing efficiency decreases. For example, in order to complete the overall calculation of the process B [1], it is necessary to reflect the calculation data in the section between T 1 and T 2 in the calculation in the section between T 2 and T 3. In order to realize the above, it is necessary to temporarily store the operation data in the data RAM 12 [2] in the former section and to read out the stored operation data in the latter section (the processing efficiency is as much as this process is necessary). Decreases). Furthermore, due to the occurrence of redundancy, the process B [1] cannot be completed in the interval between T 1 and T 3, and a part of the process B [1] is changed to the interval between T 3 and T 4. In some cases, it must be used and executed.

これに対し、本実施形態に係る演算処理装置1では、信号生成回路30による動作制御信号Tout[0]に加えて、演算コア10[i]による動作制御信号Tout[i]が存在し、Tout[i]をも用いて各プロセスの動作が制御される。このため、上記のような冗長の発生を回避することができる。結果、各演算コアで実行されるプロセスを効率的に処理して処理時間を短縮することが可能となる。尚、放送波送受信処理では、ダウンサンプリングやアップサンプリングを伴う処理が多く見られるが、演算処理装置1によれば、図4に示すような動作を介してダウンサンプリングやアップサンプリングを伴う処理を効率的に処理することが可能となる。更に、演算処理装置1によれば、或る演算コアの動作を判断して他の演算コアの動作を判断するタスクコントローラのような複雑な制御回路が不要となるため、回路小型化及び低消費電力化が可能となる。   On the other hand, in the arithmetic processing apparatus 1 according to the present embodiment, in addition to the operation control signal Tout [0] from the signal generation circuit 30, the operation control signal Tout [i] from the arithmetic core 10 [i] exists, and Tout [I] is also used to control the operation of each process. For this reason, occurrence of redundancy as described above can be avoided. As a result, it is possible to efficiently process the processes executed by each arithmetic core and reduce the processing time. In the broadcast wave transmission / reception process, many processes involving down-sampling and up-sampling are observed. However, according to the arithmetic processing unit 1, the process involving down-sampling and up-sampling is efficiently performed through the operation shown in FIG. Can be processed automatically. Furthermore, according to the arithmetic processing device 1, since a complicated control circuit such as a task controller that determines the operation of a certain arithmetic core and determines the operation of another arithmetic core is unnecessary, circuit miniaturization and low consumption are achieved. Electricity becomes possible.

<<変形等>>
上述の説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。上述の実施形態の変形例または注釈事項として、以下に、注釈1〜注釈4を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
<< Deformation, etc. >>
The specific numerical values shown in the above description are merely examples, and as a matter of course, they can be changed to various numerical values. As modifications or annotations of the above-described embodiment, notes 1 to 4 are described below. The contents described in each comment can be arbitrarily combined as long as there is no contradiction.

[注釈1]
上述の実施形態では、1つの演算コアにて1つのプロセスが実行されているが、1つの演算コアにて複数のプロセスを実行するようにしても良い。この場合、その複数のプロセスに含まれる個々のプロセスを、当該プロセス以外のプロセスの動作により生成された動作制御信号に従って動作させると良く、これが実現されるように選択回路の選択動作を設定すると良い。
[Note 1]
In the above-described embodiment, one process is executed by one arithmetic core, but a plurality of processes may be executed by one arithmetic core. In this case, each process included in the plurality of processes may be operated according to an operation control signal generated by the operation of a process other than the process, and the selection operation of the selection circuit may be set so as to realize this. .

[注釈2]
上述の説明における各選択回路では、各選択回路の動作を規定する第2設定データに基づき、入力された複数の動作制御信号の内の1つを選択しているが、各選択回路において複数の動作制御信号の論理演算(論理和や論理積等の算出)を行い、その結果を出力させるようにしても良い。各選択回路にて、どのような論理演算を行わせるかを、第2設定データに規定しておくことができる。例えば、選択回路20[1]にて、Tout[0]、Tout[2]及びTout[3]の論理演算を行い、その論理演算の結果をTin[1]として選択回路20[1]から演算コア10[1]に与えるようにしても良い。同様に例えば、選択回路20[2]にて、Tout[0]、Tout[1]及びTout[3]の論理演算を行い、その論理演算の結果をTin[2]として選択回路20[2]から演算コア10[2]に与えるようにしても良い。選択回路20[3]についても同様である。より具体的には例えば、選択回路20[2]にてTout[0]、Tout[1]及びTout[3]の論理積を算出し、その論理積の値を有するTin[2]を選択回路20[2]から演算コア10[2]に与えるようにしても良い。例えば、アクティブを論理値「1」に対応させ、ノンアクティブを論理値「0」に対応させることができる。
[Note 2]
Each selection circuit in the above description selects one of a plurality of input operation control signals based on the second setting data defining the operation of each selection circuit. It is also possible to perform a logical operation (calculation of logical sum or logical product) of the operation control signal and output the result. It is possible to define in the second setting data what kind of logical operation is performed in each selection circuit. For example, the selection circuit 20 [1] performs a logical operation of Tout [0], Tout [2], and Tout [3], and calculates the result of the logical operation as Tin [1] from the selection circuit 20 [1]. You may make it give to core 10 [1]. Similarly, for example, in the selection circuit 20 [2], logical operations of Tout [0], Tout [1], and Tout [3] are performed, and the result of the logical operation is defined as Tin [2], and the selection circuit 20 [2]. To the arithmetic core 10 [2]. The same applies to the selection circuit 20 [3]. More specifically, for example, the selection circuit 20 [2] calculates the logical product of Tout [0], Tout [1], and Tout [3], and selects the Tin [2] having the logical product value. 20 [2] may be given to the arithmetic core 10 [2]. For example, active can be associated with a logical value “1” and non-active can be associated with a logical value “0”.

[注釈3]
上述の実施形態では、演算処理装置1に設けられる演算コアの個数が3となっているが、演算処理装置1に設けられる演算コアの個数は2以上であれば幾つでも良い。演算処理装置1にて実行されるプロセスの個数及び演算処理装置1に設けられる選択回路の個数は、演算コアの個数の増減に応じて増減する。
[Note 3]
In the above-described embodiment, the number of arithmetic cores provided in the arithmetic processing device 1 is three. However, the number of arithmetic cores provided in the arithmetic processing device 1 may be any number as long as it is two or more. The number of processes executed in the arithmetic processing device 1 and the number of selection circuits provided in the arithmetic processing device 1 increase / decrease according to the increase / decrease in the number of arithmetic cores.

[注釈4]
図1の演算処理装置1を、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって構成することができる。ソフトウェアを用いて演算処理装置1を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。ソフトウェアを用いて実現される機能をプログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その機能を実現するようにしてもよい
[Note 4]
The arithmetic processing device 1 in FIG. 1 can be configured by hardware or a combination of hardware and software. When the arithmetic processing unit 1 is configured using software, a block diagram of a part realized by software represents a functional block diagram of the part. A function realized using software may be described as a program, and the function may be realized by executing the program on a program execution device (for example, a computer).

1 演算処理装置
10[1]〜10[3] 演算コア
20[1]〜20[3] 選択回路
30 信号生成回路
40 設定部
DESCRIPTION OF SYMBOLS 1 Arithmetic processor 10 [1] -10 [3] Arithmetic core 20 [1] -20 [3] Selection circuit 30 Signal generation circuit 40 Setting part

Claims (4)

動作制御信号群を形成する何れかの動作制御信号に従って演算処理を実行する複数のプロセスが動作する演算処理装置において、
前記動作制御信号群に含まれる第1及び第2の動作制御信号の内、第1の動作制御信号を生成する信号生成回路を備え、
前記複数のプロセスに含まれる第1及び第2のプロセスの内、第1のプロセスは前記第1の動作制御信号に従って演算処理を実行する一方、前記第2のプロセスは前記第2の動作制御信号に従って演算処理を実行し、
前記第2の動作制御信号は、前記第1のプロセスの動作に基づいて生成される
ことを特徴とする演算処理装置。
In an arithmetic processing device in which a plurality of processes that perform arithmetic processing according to any of the operation control signals forming the operation control signal group operate,
A signal generation circuit for generating a first operation control signal among the first and second operation control signals included in the operation control signal group;
Of the first and second processes included in the plurality of processes, the first process performs arithmetic processing in accordance with the first operation control signal, while the second process performs the second operation control signal. According to
The arithmetic processing unit, wherein the second operation control signal is generated based on an operation of the first process.
各プロセスに対する動作制御信号を前記動作制御信号群の中から選択する、或いは、各プロセスに対する動作制御信号を前記動作制御信号群に含まれる複数の動作制御信号から生成する選択回路を更に備えた
ことを特徴とする請求項1に記載の演算処理装置。
A selection circuit for selecting an operation control signal for each process from the operation control signal group, or for generating an operation control signal for each process from a plurality of operation control signals included in the operation control signal group; The arithmetic processing apparatus according to claim 1.
当該演算処理装置には設定データが与えられ、
前記設定データは、各プロセスの演算処理の内容を規定するデータと、前記選択回路の動作を規定するデータと、を含む
ことを特徴とする請求項2に記載の演算処理装置。
Setting data is given to the arithmetic processing unit,
The arithmetic processing apparatus according to claim 2, wherein the setting data includes data defining a content of arithmetic processing of each process and data defining an operation of the selection circuit.
当該演算処理装置には設定データが与えられ、
前記設定データは、各プロセスの演算処理の内容を規定するデータと、前記信号生成回路の動作を規定するデータと、を含む
ことを特徴とする請求項1〜請求項3の何れかに記載の演算処理装置。
Setting data is given to the arithmetic processing unit,
The said setting data include the data which prescribes | regulates the content of the arithmetic processing of each process, and the data which prescribes | regulates the operation | movement of the said signal generation circuit, The Claim 1 characterized by the above-mentioned. Arithmetic processing unit.
JP2009257124A 2009-11-10 2009-11-10 Arithmetic processor Pending JP2011103029A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009257124A JP2011103029A (en) 2009-11-10 2009-11-10 Arithmetic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009257124A JP2011103029A (en) 2009-11-10 2009-11-10 Arithmetic processor

Publications (1)

Publication Number Publication Date
JP2011103029A true JP2011103029A (en) 2011-05-26

Family

ID=44193340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009257124A Pending JP2011103029A (en) 2009-11-10 2009-11-10 Arithmetic processor

Country Status (1)

Country Link
JP (1) JP2011103029A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219620A (en) * 1994-02-03 1995-08-18 Toyo A Tec Kk Unit controller for production machining line
JP2001060155A (en) * 1999-08-20 2001-03-06 Fujitsu Ltd Message processor
JP2008097281A (en) * 2006-10-11 2008-04-24 Canon Inc Program generation system, sequence program, sequence control method, and sequencer device
JP2008097282A (en) * 2006-10-11 2008-04-24 Canon Inc Sequence control system and sequencer device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219620A (en) * 1994-02-03 1995-08-18 Toyo A Tec Kk Unit controller for production machining line
JP2001060155A (en) * 1999-08-20 2001-03-06 Fujitsu Ltd Message processor
JP2008097281A (en) * 2006-10-11 2008-04-24 Canon Inc Program generation system, sequence program, sequence control method, and sequencer device
JP2008097282A (en) * 2006-10-11 2008-04-24 Canon Inc Sequence control system and sequencer device

Similar Documents

Publication Publication Date Title
JP3258000B2 (en) Electronic circuit
TW202115575A (en) Quiesce reconfigurable data processor
JP2017091589A (en) Processor core and processor system
JP4490392B2 (en) Reconfigurable integrated circuit device that automatically builds an initialization circuit
US8417918B2 (en) Reconfigurable processor with designated processing elements and reserved portion of register file for interrupt processing
JP2005222142A (en) Array type processor
WO2001095099A1 (en) System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit
JP2014165748A (en) Processing device and method of controlling processing device
JP2006099719A (en) Processing device
JP4753895B2 (en) Array type processor having delay adjustment circuit
US8171259B2 (en) Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal
JP5231949B2 (en) Semiconductor device and data processing method using semiconductor device
JP2006294005A (en) Programmable controller
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
JP2011103029A (en) Arithmetic processor
JP2006065788A (en) Processor with reconfigurable circuit
JP2013161484A (en) Reconfigurable computing apparatus, first memory controller and second memory controller therefor, and method of processing trace data for debugging therefor
JP5157129B2 (en) Information processing apparatus and circuit design method therefor
CN102129495A (en) Method for reducing power consumption of reconfigurable operator array structure
JP5169697B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and program
JP2009238085A (en) Behavioral synthesis system, behavioral synthesis method, and program for behavioral synthesis
JP2005222141A (en) Array type processor
US20230305848A1 (en) Schedule Instructions of a Program of Data Flows for Execution in Tiles of a Coarse Grained Reconfigurable Array
US20230305842A1 (en) Configure a Coarse Grained Reconfigurable Array to Execute Instructions of a Program of Data Flows
CN117908950A (en) Peripheral interface reconstruction method, device, equipment and medium based on multi-core chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140408