[go: up one dir, main page]

JP3723775B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP3723775B2
JP3723775B2 JP2002003754A JP2002003754A JP3723775B2 JP 3723775 B2 JP3723775 B2 JP 3723775B2 JP 2002003754 A JP2002003754 A JP 2002003754A JP 2002003754 A JP2002003754 A JP 2002003754A JP 3723775 B2 JP3723775 B2 JP 3723775B2
Authority
JP
Japan
Prior art keywords
logic circuit
data
central processing
unit
storage 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.)
Expired - Lifetime
Application number
JP2002003754A
Other languages
Japanese (ja)
Other versions
JP2003208305A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002003754A priority Critical patent/JP3723775B2/en
Publication of JP2003208305A publication Critical patent/JP2003208305A/en
Application granted granted Critical
Publication of JP3723775B2 publication Critical patent/JP3723775B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

【0001】
【産業上の利用分野】
本発明は再構成可能なロジック回路を用いたデータ処理装置に関するものである。
【0002】
【従来の技術】
データ処理装置の演算性能の向上を図るための一方法として、再構成可能なロジック回路の利用がある。
【0003】
このような再構成可能ロジック回路を使った従来のデータ処理装置の一例として、特開平10−254696号公報に示されている構成を、図4に示す。図4に示す従来のデータ処理装置は、その機能が固定的なファンクションユニット(Function Unit:以下、FUと略称する)401と、これを制御する命令をデコードする命令デコーダ402の他に、処理を加速したい機能を実現するためのリコンフィギュラブルファンクションユニット(Reconfigurable Function Unit:以下、RFUと略称する)403と、これを制御するリコンフィギュラブル回路404とを備えている。そして、予め、RFU403とこれを制御するリコンフィギュラブル回路404の内部構成を、加速したい処理を実現できるよう構成しておき、この機能を使用したい場合に制御線405を能動にする。
【0004】
以上の構成により、命令キャッシュ406に格納された命令が命令デコーダ402およびリコンフィギュラブル回路404でデコードされ、制御信号407が出力される。そしてこの制御信号407による制御の下で、FU401、RFU403、レジスタファイル408、およびデータ・キャッシュ409によって、演算が行われる。
【0005】
【発明が解決しようとする課題】
しかしながら、上記のような従来の構成では、再構成可能な機能を動的に変更できないため、加速したい機能が多数ある場合には、各機能に対応するRFU403を複数設けておく必要があり、回路増加を招く。これを防ぐために、リコンフィギュラブル回路404およびRFU403を動的に構成する方法が考えられる。しかし、単純な方法では構成に要する時間が陽に現れ、結果として処理性能の向上を図ることが出来ないという問題がある。
【0006】
本発明は上記問題点に鑑み、回路の動的再構成に要する時間が処理性能に及ぼす影響を小さく抑えることにより、優れた処理性能を有するデータ処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するために、本発明にかかる第1のデータ処理装置は、命令コードおよびデータを保持する第1の記憶部と、前記第1の記憶部に接続された中央処理装置と、再構成可能なロジック回路と、前記ロジック回路の構成情報を保持する再構成情報記憶部と、前記中央処理装置の指示のもとに前記ロジック回路および前記再構成情報記憶部を制御する制御手段と、前記ロジック回路が使用するデータを保持する第2の記憶部と、前記中央処理装置および前記ロジック回路で共有するデータを保持する第3の記憶部とを備え、前記中央処理装置による前記第1および第3の記憶部を用いた処理と並行して、前記制御手段が前記再構成情報記憶部の内容に従って前記ロジック回路を構成する処理を行い、前記ロジック回路の構成終了後に、前記中央処理装置に代わって前記ロジック回路が前記第2および第3の記憶部を用いて処理を行うことを特徴とする。
【0008】
この構成によれば、前記ロジック回路の構成が終了するまで、これと並行して中央処理装置と前記第1および第3の記憶部で処理を続行することができる。これにより、中央処理装置と再構成可能なロジック回路の両方を用いることにより処理性能が向上し、しかも、前記制御手段が前記ロジック回路を構成する処理が、前記中央処理装置による処理と並行して行われるので、ロジック回路の構成に要する時間が全体の処理時間に遅延をもたらすことを抑制できる。
【0009】
また、上記の目的を達成するために、本発明にかかる第2のデータ処理装置は、命令コードおよびデータを保持する第1の記憶部と、前記第1の記憶部に接続された中央処理装置と、再構成可能なロジック回路と、前記ロジック回路の構成情報を保持する再構成情報記憶部と、前記中央処理装置の指示のもとに前記ロジック回路および前記再構成情報記憶部を制御する制御手段と、前記ロジック回路が使用するデータを保持する第2の記憶部と、前記中央処理装置及び前記ロジック回路で共有するデータを保持する第3の記憶部とを備え、前記中央処理装置が、所望の処理を前記中央処理装置と前記ロジック回路のどちらで処理した方が早く終了するかを予め動的に判定し、前記ロジック回路で処理した方が早く終了すると判定した場合には、前記中央処理装置が前記ロジック回路での処理に要する所望のデータの準備処理を行うと共に、前記データの準備処理と並行して前記制御手段が前記再構成情報記憶部の内容に従って前記ロジック回路の構成を行い、前記所望のデータの準備処理が終了した後に、前記ロジック回路が前記第2および第3の記憶部を用いて処理を行うことを特徴とする。
【0010】
この構成によれば、所望の処理を中央処理装置よりもロジック回路で処理した方が早く終了すると判定した場合には、中央処理装置でのデータ準備処理と並行して、制御手段がロジック回路の構成処理を行うことで、処理能力を向上させることができる。これにより、中央処理装置と再構成可能なロジック回路の両方を用いることにより処理性能が向上し、しかも、前記制御手段が前記ロジック回路を構成する処理が、前記中央処理装置による処理と並行して行われるので、ロジック回路の構成に要する時間が全体の処理時間に遅延をもたらすことを抑制できる。
【0011】
【発明の実施の形態】
(実施の形態1)
以下、本発明にかかるデータ処理装置の一実施形態について、図面を参照しながら説明する。図1は、本実施形態のデータ処理装置の構成を示すブロック図である。図2は、図1のデータ処理装置の動作を示す説明図である。
【0012】
図1に示すように、本実施形態のデータ処理装置は、中央処理装置(CPU)101、再構成可能ロジックブロック120、第1のメモリ102、第2のメモリ108、第3のメモリ109を備えている。再構成可能ロジックブロック120は、再構成情報用メモリ104、再構成可能ロジック回路103、および制御部105を備えている。
【0013】
第1のメモリ102は、CPU101のプログラム及びデータを記憶する。再構成可能ロジック回路103は、FPGA(Field Programable Logic)に代表されるような、外部から与えられるデータに基づき内部構成が変更できる回路である。再構成情報用メモリ104は、再構成可能ロジック回路103の構成を決めるデータ(再構成情報)を保持する。再構成情報は、構成の種類毎に固有の識別番号が付与された状態で、再構成情報用メモリ104に記憶されている。制御部105は、CPU101の指示に従い、再構成情報用メモリ104の再構成情報を用いて再構成可能ロジック回路103の構成を変更し、また構成の変更が終了したことをCPU101に伝える。第2のメモリ108は、再構成可能ロジック回路103が使用するデータを保持する。第3のメモリ109は、CPU101および再構成可能ロジック回路103で共有されるデータを保持する。
【0014】
信号線110は、CPU101と、第1のメモリ102および第3のメモリ109のそれぞれとを接続する信号線である。信号線111は、再構成可能ロジック回路103と、第2のメモリ108および第3のメモリ109のそれぞれとを接続する。また、図1において、106は、制御部105に対し、再構成可能ロジック回路103の再構成を指示する制御信号であり、再構成情報用メモリ104にあるどの再構成情報を使用するかを示すために、前記の識別番号を含む。107は、制御信号106を受けて行った再構成可能ロジック回路103の構成変更が終了したことを示す状態信号である。
【0015】
以上のように構成されたデータ処理装置の動作について、図1および図2を用いて説明する。
【0016】
CPU101は、その内部に保有するプログラムカウンタ(図示せず)に従い、第1のメモリ102に記憶されているプログラムに従って処理を進めるが、再構成可能ロジック回路103を使用することを指示する命令があると、制御信号106を能動にし、再構成に使用するデータの識別情報を制御部105に与え、再構成を指示する(図2のS201)。
【0017】
これを受けて、再構成可能ロジックブロック120の制御部105は、前記識別情報に基づき再構成情報用メモリ104から再構成用データを取り出し、取り出した再構成用データにより再構成可能ロジック回路103を再構成する(S202)。またCPU101は、この構成と並行して、第1のメモリ102を用いて処理を進める(S203)。再構成可能ロジック回路103での構成が終了すると、制御部105は、状態信号107を用いてCPU101にその旨を伝える(S204)。
【0018】
CPU101は、状態信号107を受けて処理を中断し、第3のメモリ109に必要なデータを格納し、格納が終了すると、制御部105に対し制御信号106によりデータ処理を指示する(S205)。制御部105は、再構成可能ロジック回路103に対して、第2のメモリ108および第3のメモリ109を用いて処理を行うよう指示し、処理が行われる(S206)。
【0019】
CPU101は、以上の処理により、S203を再構成可能ロジック回路103に任せることが出来たので、再構成可能ロジック回路103の処理と並行して別の処理を実行する(S207)。
【0020】
再構成可能ロジック回路103は、その処理が終了すると、その結果を第3のメモリ109に格納すると共に、処理が終了した旨を制御部105経由で状態信号107を通してCPU101に伝える(S208)。
【0021】
CPU101は、第3のメモリ109に格納してある処理完了データを用いて、次のデータ処理を行う(S209)。
【0022】
以上のように、本実施形態のデータ処理装置では、制御部105が再構成情報用メモリ104の内容で再構成可能ロジック回路103を構成している間は、CPU101で所望の処理を行い、再構成可能ロジック回路103の構成が終了した後は、CPU101で行っていた処理の結果を第3のメモリ109に格納し、再構成可能ロジック回路103で処理を継続して行うことが出来る。これにより、処理能力の向上を図ると共に、再構成可能ロジック回路103の構成に要する時間が一般のデータ処理時間に与える影響を少なくすることが出来る。
【0023】
(実施の形態2)
以下、本発明にかかるデータ処理装置の他の実施形態について、図面を参照しながら説明する。
【0024】
本実施形態にかかるデータ処理装置の構成は実施の形態1で図1に示した構成と同じであり、その動作のみが異なる。以下、図1および図3を参照しながら、本実施形態にかかるデータ処理装置の動作について説明する。
【0025】
CPU101はその内部に保有するプログラムカウンタ(図示せず)に従って第1のメモリ102に記憶されているプログラムに従った処理を進めるが、その処理過程で、CPU101で処理するか再構成可能ロジック回路103で処理するかの判断を、予め動的に行う(図3のS301)。
【0026】
すなわち、以下のとおりに定義される時間t1,t2を計算し、t1,t2の大小関係を判定する。
【0027】

Figure 0003723775
この場合、実現したい処理の繰り返し実行回数、再構成可能ロジック回路103で構成する回路の複雑度(複雑性が増せば構成に要する時間が長くなる)などが主なパラメータとなる。前記の繰り返し実行回数はCPU101による別のデータ処理により決められ動的に変化するので、S301の判断が必要となる。
【0028】
t1>t2の場合は、CPU101及び第1のメモリ102で処理を行う(S303)。
【0029】
t1<t2の場合は、CPU101は、以下の処理を行う。まず、制御部105に対して再構成に使用するデータの識別情報を与え、再構成可能ロジック回路103の再構成を指示する(S302)。次に、第1のメモリ102を用いたデータ処理を行うと共に、再構成可能ロジック回路103で処理させるデータの準備を行う(S304)。データ準備が終了すると、データを第3のメモリ109に格納すると共に、その旨を制御部105に伝える(S305)。
【0030】
一方、再構成可能ロジックブロック120において、制御部105は、CPU101によるS304の処理と並行して、再構成可能ロジック回路103の構成を行う(S306)。S305とS306が終了すると、再構成可能ロジック回路103は、第2のメモリ108および第3のメモリ109を用いたデータ処理を行う(S307)。一方、CPU101は、再構成可能ロジックブロック120によるS307と並行して、他のデータ処理を行う(S308)。
【0031】
再構成可能ロジック回路103でのS307の処理が終了すると、再構成可能ロジック回路103がその結果を第3のメモリ109に格納し、制御部105が状態信号107によりその旨をCPU101に伝える(S309)。これにより、CPU101は、第3のメモリ109に格納されている処理結果を用いて、次のデータ処理を行う(S310)。
【0032】
以上のように、本実施形態によれば、CPU101または再構成可能ロジック回路103のどちらで処理すればトータルの処理時間が短くなるかを、CPU101が予めかつ動的に判断し、再構成可能ロジック回路103で処理した方が処理時間が短くなると判断した場合には、CPU101でのS304およびS305の処理と並行して、再構成可能ロジックブロック103を再構成する処理(S306)を行う。この処理手順によれば、処理能力の向上が図れると共に、S304およびS305の処理とS306の処理とが並行して実行されるので、再構成可能ロジック回路103の構成に要する時間が処理全体の所要時間に遅延をもたらすことを抑制できる。
【0033】
なお、上述の各実施形態では、第2のメモリおよび第3のメモリのそれぞれとして独立したメモリデバイスを用いる構成を例示したが、第2のメモリと第3のメモリを、例えば一つのメモリチップ上に設ける等、物理的に一つのメモリデバイスで実現することも可能である。さらに、2ポートメモリ化を図ることにより、第1のメモリと、第2/第3のメモリとを、物理的に一つのメモリデバイスで実現することも可能である。
【0034】
【発明の効果】
以上のように、本発明によれば、回路の動的再構成に要する時間が処理性能に及ぼす影響を小さく抑えることにより、優れた処理性能を有するデータ処理装置を提供することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施形態としてのデータ処理装置の概略構成を示すブロック図
【図2】 前記データ処理装置の動作の一例を示すフローチャート
【図3】 前記データ処理装置の動作の他の例を示すフローチャート
【図4】 従来のデータ処理装置の概略構成を示すブロック図
【符号の説明】
101 中央処理装置(CPU)
102 第1のメモリ
103 再構成可能ロジック回路
104 再構成情報用メモリ
105 制御部
106 制御信号
107 状態信号
108 第2のメモリ
109 第3のメモリ
110 信号線
111 信号線
120 再構成可能ロジックブロック[0001]
[Industrial application fields]
The present invention relates to a data processing apparatus using a reconfigurable logic circuit.
[0002]
[Prior art]
One method for improving the computing performance of a data processing apparatus is to use a reconfigurable logic circuit.
[0003]
As an example of a conventional data processing apparatus using such a reconfigurable logic circuit, a configuration shown in Japanese Patent Laid-Open No. 10-254696 is shown in FIG. The conventional data processing apparatus shown in FIG. 4 performs processing in addition to a function unit (Function Unit: hereinafter abbreviated as FU) 401 whose function is fixed and an instruction decoder 402 that decodes an instruction that controls the function unit. A reconfigurable function unit (Reconfigurable Function Unit: hereinafter abbreviated as RFU) 403 for realizing a function to be accelerated and a reconfigurable circuit 404 for controlling the function are provided. Then, the internal configuration of the RFU 403 and the reconfigurable circuit 404 that controls the RFU 403 is configured so as to realize processing that is desired to be accelerated, and the control line 405 is activated when it is desired to use this function.
[0004]
With the above configuration, the instruction stored in the instruction cache 406 is decoded by the instruction decoder 402 and the reconfigurable circuit 404, and the control signal 407 is output. Then, under the control of the control signal 407, the calculation is performed by the FU 401, the RFU 403, the register file 408, and the data cache 409.
[0005]
[Problems to be solved by the invention]
However, in the conventional configuration as described above, since the reconfigurable function cannot be dynamically changed, when there are a large number of functions to be accelerated, it is necessary to provide a plurality of RFUs 403 corresponding to the respective functions. Incurs an increase. In order to prevent this, a method of dynamically configuring the reconfigurable circuit 404 and the RFU 403 can be considered. However, the simple method has a problem that the time required for the configuration appears explicitly, and as a result, the processing performance cannot be improved.
[0006]
In view of the above problems, an object of the present invention is to provide a data processing apparatus having excellent processing performance by minimizing the influence of time required for dynamic circuit reconfiguration on processing performance.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a first data processing apparatus according to the present invention includes a first storage unit that holds an instruction code and data, a central processing unit connected to the first storage unit, A configurable logic circuit; a reconfiguration information storage unit that holds configuration information of the logic circuit; and a control unit that controls the logic circuit and the reconfiguration information storage unit under instructions of the central processing unit; A second storage unit that holds data used by the logic circuit; and a third storage unit that holds data shared by the central processing unit and the logic circuit. In parallel with the process using the third storage unit, the control unit performs the process of configuring the logic circuit according to the contents of the reconfiguration information storage unit, and after the configuration of the logic circuit is completed Wherein said logic circuit instead of the central processing unit and performs a process using the second and third storage unit.
[0008]
According to this configuration, processing can be continued in the central processing unit and the first and third storage units in parallel with the configuration of the logic circuit. As a result, the processing performance is improved by using both the central processing unit and the reconfigurable logic circuit, and the process in which the control unit configures the logic circuit is performed in parallel with the processing by the central processing unit. As a result, it is possible to suppress the time required for the configuration of the logic circuit from causing a delay in the overall processing time.
[0009]
In order to achieve the above object, a second data processing apparatus according to the present invention includes a first storage unit for holding an instruction code and data, and a central processing unit connected to the first storage unit. A reconfigurable logic circuit, a reconfiguration information storage unit for holding configuration information of the logic circuit, and a control for controlling the logic circuit and the reconfiguration information storage unit under instructions of the central processing unit Means, a second storage unit that holds data used by the logic circuit, and a third storage unit that holds data shared by the central processing unit and the logic circuit, the central processing unit comprising: When it is determined in advance dynamically whether the desired processing is processed earlier by the central processing unit or the logic circuit, and when it is determined that the processing by the logic circuit is completed earlier The central processing unit performs preparation processing of desired data required for processing in the logic circuit, and in parallel with the data preparation processing, the control unit configures the logic circuit according to the contents of the reconfiguration information storage unit. The logic circuit performs processing using the second and third storage units after the preparation processing of the desired data is completed.
[0010]
According to this configuration, when it is determined that the desired processing is completed earlier by the logic circuit than by the central processing unit, the control means is connected to the logic circuit in parallel with the data preparation processing in the central processing unit. By performing the configuration process, the processing capability can be improved. As a result, the processing performance is improved by using both the central processing unit and the reconfigurable logic circuit, and the process in which the control unit configures the logic circuit is performed in parallel with the processing by the central processing unit. As a result, it is possible to suppress the time required for the configuration of the logic circuit from causing a delay in the overall processing time.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
Hereinafter, an embodiment of a data processing apparatus according to the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the data processing apparatus of this embodiment. FIG. 2 is an explanatory diagram showing the operation of the data processing apparatus of FIG.
[0012]
As shown in FIG. 1, the data processing apparatus according to the present embodiment includes a central processing unit (CPU) 101, a reconfigurable logic block 120, a first memory 102, a second memory 108, and a third memory 109. ing. The reconfigurable logic block 120 includes a reconfiguration information memory 104, a reconfigurable logic circuit 103, and a control unit 105.
[0013]
The first memory 102 stores a program and data for the CPU 101. The reconfigurable logic circuit 103 is a circuit whose internal configuration can be changed based on data given from the outside, as represented by FPGA (Field Programmable Logic). The reconfiguration information memory 104 holds data (reconfiguration information) that determines the configuration of the reconfigurable logic circuit 103. The reconfiguration information is stored in the reconfiguration information memory 104 with a unique identification number assigned to each type of configuration. The control unit 105 changes the configuration of the reconfigurable logic circuit 103 using the reconfiguration information in the reconfiguration information memory 104 in accordance with an instruction from the CPU 101, and notifies the CPU 101 that the configuration change has been completed. The second memory 108 holds data used by the reconfigurable logic circuit 103. The third memory 109 holds data shared by the CPU 101 and the reconfigurable logic circuit 103.
[0014]
The signal line 110 is a signal line that connects the CPU 101 to each of the first memory 102 and the third memory 109. The signal line 111 connects the reconfigurable logic circuit 103 to each of the second memory 108 and the third memory 109. In FIG. 1, reference numeral 106 denotes a control signal that instructs the control unit 105 to reconfigure the reconfigurable logic circuit 103 and indicates which reconfiguration information in the reconfiguration information memory 104 is to be used. Therefore, the identification number is included. Reference numeral 107 denotes a status signal indicating that the configuration change of the reconfigurable logic circuit 103 performed in response to the control signal 106 is completed.
[0015]
The operation of the data processing apparatus configured as described above will be described with reference to FIGS.
[0016]
The CPU 101 proceeds in accordance with a program stored in the first memory 102 according to a program counter (not shown) held therein, but there is an instruction instructing to use the reconfigurable logic circuit 103. Then, the control signal 106 is activated, identification information of data used for reconfiguration is given to the control unit 105, and reconfiguration is instructed (S201 in FIG. 2).
[0017]
In response to this, the control unit 105 of the reconfigurable logic block 120 extracts the reconfiguration data from the reconfiguration information memory 104 based on the identification information, and uses the extracted reconfiguration data to reconfigure the reconfigurable logic circuit 103. Reconfiguration is performed (S202). In parallel with this configuration, the CPU 101 proceeds with the process using the first memory 102 (S203). When the configuration in the reconfigurable logic circuit 103 is completed, the control unit 105 notifies the CPU 101 of the fact using the status signal 107 (S204).
[0018]
In response to the status signal 107, the CPU 101 interrupts the processing, stores necessary data in the third memory 109, and when the storage ends, instructs the control unit 105 to perform data processing using the control signal 106 (S205). The control unit 105 instructs the reconfigurable logic circuit 103 to perform processing using the second memory 108 and the third memory 109, and processing is performed (S206).
[0019]
The CPU 101 can leave S203 to the reconfigurable logic circuit 103 by the above processing, and therefore executes another process in parallel with the processing of the reconfigurable logic circuit 103 (S207).
[0020]
When the processing is completed, the reconfigurable logic circuit 103 stores the result in the third memory 109 and notifies the CPU 101 via the control unit 105 via the status signal 107 that the processing is completed (S208).
[0021]
The CPU 101 performs the next data processing using the processing completion data stored in the third memory 109 (S209).
[0022]
As described above, in the data processing apparatus according to the present embodiment, while the control unit 105 configures the reconfigurable logic circuit 103 with the contents of the reconfiguration information memory 104, the CPU 101 performs a desired process, After the configuration of the configurable logic circuit 103 is completed, the result of the process performed by the CPU 101 can be stored in the third memory 109, and the process can be continuously performed by the reconfigurable logic circuit 103. As a result, the processing capability can be improved and the influence of the time required for the configuration of the reconfigurable logic circuit 103 on the general data processing time can be reduced.
[0023]
(Embodiment 2)
Hereinafter, another embodiment of the data processing apparatus according to the present invention will be described with reference to the drawings.
[0024]
The configuration of the data processing apparatus according to the present embodiment is the same as that shown in FIG. 1 in the first embodiment, and only the operation thereof is different. Hereinafter, the operation of the data processing apparatus according to the present embodiment will be described with reference to FIGS. 1 and 3.
[0025]
The CPU 101 proceeds with processing according to the program stored in the first memory 102 in accordance with a program counter (not shown) held therein. In the process, the CPU 101 performs processing or reconfigurable logic circuit 103. The determination as to whether or not to process is performed dynamically in advance (S301 in FIG. 3).
[0026]
That is, times t1 and t2 defined as follows are calculated, and the magnitude relationship between t1 and t2 is determined.
[0027]
Figure 0003723775
In this case, the main parameters are the number of repeated executions of the processing desired to be realized, the complexity of the circuit configured by the reconfigurable logic circuit 103 (the time required for the configuration increases as the complexity increases), and the like. The number of repeated executions is determined by another data process by the CPU 101 and changes dynamically, so the determination in S301 is necessary.
[0028]
When t1> t2, the CPU 101 and the first memory 102 perform processing (S303).
[0029]
When t1 <t2, the CPU 101 performs the following processing. First, identification information of data used for reconfiguration is given to the control unit 105, and reconfiguration of the reconfigurable logic circuit 103 is instructed (S302). Next, data processing using the first memory 102 is performed, and data to be processed by the reconfigurable logic circuit 103 is prepared (S304). When the data preparation is completed, the data is stored in the third memory 109 and the fact is notified to the control unit 105 (S305).
[0030]
On the other hand, in the reconfigurable logic block 120, the control unit 105 configures the reconfigurable logic circuit 103 in parallel with the processing of S304 by the CPU 101 (S306). When S305 and S306 are completed, the reconfigurable logic circuit 103 performs data processing using the second memory 108 and the third memory 109 (S307). On the other hand, the CPU 101 performs other data processing in parallel with S307 by the reconfigurable logic block 120 (S308).
[0031]
When the process of S307 in the reconfigurable logic circuit 103 is completed, the reconfigurable logic circuit 103 stores the result in the third memory 109, and the control unit 105 notifies the CPU 101 of the fact by the status signal 107 (S309). ). Thus, the CPU 101 performs the next data processing using the processing result stored in the third memory 109 (S310).
[0032]
As described above, according to this embodiment, the CPU 101 dynamically determines in advance whether the CPU 101 or the reconfigurable logic circuit 103 performs processing to shorten the total processing time, and reconfigurable logic. If it is determined that the processing time is shorter when the processing is performed by the circuit 103, in parallel with the processing of S304 and S305 in the CPU 101, processing of reconfiguring the reconfigurable logic block 103 is performed (S306). According to this processing procedure, the processing capability can be improved and the processing of S304 and S305 and the processing of S306 are executed in parallel, so that the time required for the configuration of the reconfigurable logic circuit 103 is required for the entire processing. The delay in time can be suppressed.
[0033]
In each of the above-described embodiments, the configuration in which independent memory devices are used as the second memory and the third memory has been exemplified. However, the second memory and the third memory are arranged on, for example, one memory chip. For example, it can be realized by a single memory device. Further, by realizing a 2-port memory, the first memory and the second / third memory can be physically realized by one memory device.
[0034]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a data processing apparatus having excellent processing performance by minimizing the influence of the time required for dynamic circuit reconfiguration on processing performance.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a data processing apparatus as an embodiment of the present invention. FIG. 2 is a flowchart showing an example of operation of the data processing apparatus. FIG. 3 is another example of operation of the data processing apparatus. FIG. 4 is a block diagram showing a schematic configuration of a conventional data processing apparatus.
101 Central processing unit (CPU)
102 First Memory 103 Reconfigurable Logic Circuit 104 Reconfiguration Information Memory 105 Control Unit 106 Control Signal 107 Status Signal 108 Second Memory 109 Third Memory 110 Signal Line 111 Signal Line 120 Reconfigurable Logic Block

Claims (4)

命令コードおよびデータを保持する第1の記憶部と、前記第1の記憶部に接続された中央処理装置と、再構成可能なロジック回路と、前記ロジック回路の構成情報を保持する再構成情報記憶部と、前記中央処理装置の指示のもとに前記ロジック回路および前記再構成情報記憶部を制御する制御手段と、前記ロジック回路が使用するデータを保持する第2の記憶部と、前記中央処理装置および前記ロジック回路で共有するデータを保持する第3の記憶部とを備え、
前記中央処理装置による前記第1および第3の記憶部を用いた処理と並行して、前記制御手段が前記再構成情報記憶部の内容に従って前記ロジック回路を構成する処理を行い、
前記ロジック回路の構成終了後に、前記中央処理装置に代わって前記ロジック回路が前記第2および第3の記憶部を用いて処理を行うことを特徴とするデータ処理装置。
A first storage unit that holds an instruction code and data, a central processing unit connected to the first storage unit, a reconfigurable logic circuit, and a reconfiguration information storage that holds configuration information of the logic circuit A control unit that controls the logic circuit and the reconfiguration information storage unit under the instruction of the central processing unit, a second storage unit that holds data used by the logic circuit, and the central processing unit A third storage unit for holding data shared by the device and the logic circuit,
In parallel with the processing using the first and third storage units by the central processing unit, the control means performs processing to configure the logic circuit according to the contents of the reconfiguration information storage unit,
A data processing apparatus, wherein after the configuration of the logic circuit is completed, the logic circuit performs processing using the second and third storage units instead of the central processing unit.
命令コードおよびデータを保持する第1の記憶部と、前記第1の記憶部に接続された中央処理装置と、再構成可能なロジック回路と、前記ロジック回路の構成情報を保持する再構成情報記憶部と、前記中央処理装置の指示のもとに前記ロジック回路および前記再構成情報記憶部を制御する制御手段と、前記ロジック回路が使用するデータを保持する第2の記憶部と、前記中央処理装置及び前記ロジック回路で共有するデータを保持する第3の記憶部とを備え、
前記中央処理装置が、所望の処理を前記中央処理装置と前記ロジック回路のどちらで処理した方が早く終了するかを予め動的に判定し、
前記ロジック回路で処理した方が早く終了すると判定した場合には、前記中央処理装置が前記ロジック回路での処理に要する所望のデータの準備処理を行うと共に、前記データの準備処理と並行して前記制御手段が前記再構成情報記憶部の内容に従って前記ロジック回路の構成を行い、
前記所望のデータの準備処理が終了した後に、前記ロジック回路が前記第2および第3の記憶部を用いて処理を行うことを特徴とするデータ処理装置。
A first storage unit that holds an instruction code and data, a central processing unit connected to the first storage unit, a reconfigurable logic circuit, and a reconfiguration information storage that holds configuration information of the logic circuit A control unit that controls the logic circuit and the reconfiguration information storage unit under the instruction of the central processing unit, a second storage unit that holds data used by the logic circuit, and the central processing unit A third storage unit for holding data shared by the device and the logic circuit,
The central processing unit dynamically determines in advance which one of the central processing unit and the logic circuit performs a desired process and ends earlier,
If it is determined that the processing by the logic circuit is completed earlier, the central processing unit performs a preparation process of desired data required for the processing by the logic circuit, and in parallel with the data preparation process, The control means configures the logic circuit according to the contents of the reconfiguration information storage unit,
A data processing apparatus, wherein the logic circuit performs processing using the second and third storage units after the preparation processing of the desired data is completed.
前記中央処理装置が、前記判定の際に、前記所望の処理の繰り返し実行回数を考慮して判定を行う、請求項2に記載のデータ処理装置。The data processing apparatus according to claim 2, wherein the central processing unit makes a determination in consideration of the number of repeated executions of the desired process in the determination. 前記中央処理装置が、前記判定の際に、前記所望の処理を行うためにロジック回路に構成すべき回路の複雑度を考慮して判定を行う、請求項2または3に記載のデータ処理装置。The data processing apparatus according to claim 2, wherein the central processing unit performs determination in consideration of complexity of a circuit to be configured in a logic circuit in order to perform the desired processing.
JP2002003754A 2002-01-10 2002-01-10 Data processing device Expired - Lifetime JP3723775B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002003754A JP3723775B2 (en) 2002-01-10 2002-01-10 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002003754A JP3723775B2 (en) 2002-01-10 2002-01-10 Data processing device

Publications (2)

Publication Number Publication Date
JP2003208305A JP2003208305A (en) 2003-07-25
JP3723775B2 true JP3723775B2 (en) 2005-12-07

Family

ID=27643265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002003754A Expired - Lifetime JP3723775B2 (en) 2002-01-10 2002-01-10 Data processing device

Country Status (1)

Country Link
JP (1) JP3723775B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
JP4594666B2 (en) 2004-07-12 2010-12-08 富士通株式会社 Reconfigurable computing device
JP4978006B2 (en) 2006-01-05 2012-07-18 日本電気株式会社 Data processing apparatus and data processing method
JP2007207136A (en) 2006-02-06 2007-08-16 Nec Corp Data processor, data processing method, and data processing program
JP2010044578A (en) * 2008-08-12 2010-02-25 Toshiba Corp Multicore processor
JPWO2017188416A1 (en) 2016-04-28 2019-03-07 Necソリューションイノベータ株式会社 Circuit device, circuit rewriting method, and program
JP7593057B2 (en) 2020-10-29 2024-12-03 富士フイルムビジネスイノベーション株式会社 Information processing device and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3493085B2 (en) * 1995-11-13 2004-02-03 株式会社東芝 Arithmetic unit
JPH10320201A (en) * 1997-05-22 1998-12-04 Canon Inc Computer system, information processing method, and recording medium
JP3611714B2 (en) * 1998-04-08 2005-01-19 株式会社ルネサステクノロジ Processor
KR100731371B1 (en) * 1999-02-15 2007-06-21 코닌클리즈케 필립스 일렉트로닉스 엔.브이. A method of executing a computer program using a processor comprising a configurable functional unit, a processor and a computer readable recording medium

Also Published As

Publication number Publication date
JP2003208305A (en) 2003-07-25

Similar Documents

Publication Publication Date Title
KR102438730B1 (en) DRAM-based reconfigurable logic device supporting spatial multiplexing
JP2001068993A5 (en)
JP5994679B2 (en) Processing device and control method of processing device
US20060265571A1 (en) Processor with different types of control units for jointly used resources
JP2008537268A (en) An array of data processing elements with variable precision interconnection
JP2007207136A (en) Data processor, data processing method, and data processing program
JP3723775B2 (en) Data processing device
JPH11509950A (en) Microcontroller having N-bit data bus width with less than N I/O pins and method therefor - Patents.com
JP4078243B2 (en) Method and apparatus for executing repeated block instructions along a nested loop with zero cycle overhead
JP2007500394A (en) Microcontroller with interrupt structure having programmable priority levels associated with different register sets for each priority level
JPH1185507A (en) Central processing unit and microcomputer system
US8607029B2 (en) Dynamic reconfigurable circuit with a plurality of processing elements, data network, configuration memory, and immediate value network
JPH02162422A (en) Preference branch circuit
CN113806025B (en) Data processing method, system, electronic device and storage medium
JP6259361B2 (en) Programmable device and control method thereof
JP2012243086A (en) Semiconductor integrated circuit device
JP2009163328A (en) Information processor and its control method
EP1550950A1 (en) Semiconductor device
JPH1091593A (en) Data processor provided with microprocessor and optional calculation unit
JP2013009044A (en) Control device, processing device, processing system and control program
JP7092555B2 (en) Arithmetic logic unit and interruption method
JP2000137619A (en) Microcomputer
JP2004280332A (en) Input/output port circuit
JP2004302856A (en) Integrated circuit device and data configuring device for device thereof
WO2019168657A1 (en) Pack and unpack network and method for variable bit width data formats

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080922

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7