JP6085481B2 - プログラマブル回路、演算処理方法 - Google Patents

プログラマブル回路、演算処理方法 Download PDF

Info

Publication number
JP6085481B2
JP6085481B2 JP2013001045A JP2013001045A JP6085481B2 JP 6085481 B2 JP6085481 B2 JP 6085481B2 JP 2013001045 A JP2013001045 A JP 2013001045A JP 2013001045 A JP2013001045 A JP 2013001045A JP 6085481 B2 JP6085481 B2 JP 6085481B2
Authority
JP
Japan
Prior art keywords
information
processing request
unit
operation information
condition
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 - Fee Related
Application number
JP2013001045A
Other languages
English (en)
Other versions
JP2014134851A (ja
Inventor
近藤 哲二郎
哲二郎 近藤
隆秀 綾田
隆秀 綾田
直也 初田
直也 初田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
I Cubed Research Center Inc
Original Assignee
I Cubed Research Center Inc
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 I Cubed Research Center Inc filed Critical I Cubed Research Center Inc
Priority to JP2013001045A priority Critical patent/JP6085481B2/ja
Publication of JP2014134851A publication Critical patent/JP2014134851A/ja
Application granted granted Critical
Publication of JP6085481B2 publication Critical patent/JP6085481B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、所定の指示に従い動作を行うプログラマブル回路等に関するものである。
従来、アプリケーションプログラムに基づいて命令、および当該命令の実行に必要なデータを生成するプログラマブル回路(特許文献1参照)や、CPUやASICなど、所定の動作指示(命令)に応じた動作を行うプログラマブル回路(非特許文献1、非特許文献2参照)などが開発されている。
特開2008−123520
"CPUとは"、[online]、IT用語辞典 e-Words、[2012年5月8日検索]、インターネット[URL;http://e-words.jp/w/CPU.html] "ASICとは"、[online]、IT用語辞典 e-Words、[2012年5月8日検索]、インターネット[URL;http://e-words.jp/w/ASIC.html]
従来のプログラマブル回路に与える動作指示(命令)は、通常、いわゆるソースコードをコンパイルして得られるオブジェクトコード(機械語)である。従来のプログラマブル回路は、通常、当該動作指示を、外部の回路(例えば、ROMやRAMなど)から受け取り、受け取った動作指示に従い動作を行う。つまり、従来のプログラマブル回路を動作させるためには、動作指示を事前に作成しておく必要があった。言い換えると、動作指示を事前に作成しておくことができなければ、従来のプログラマブル回路を動作させることができなかった。また、動作指示は、通常、ユーザが作成するが、例えば、動作指示にバグが含まれていれば、これにより動作エラーが発生する。また、動作指示の作成に不慣れなユーザは、所望の処理を行うための動作指示の作成が困難な場合もある。また、例えば、動作指示に含まれているバグを修正したり、他のプログラマブル回路用に動作指示を作り直したりなど、動作指示を変更する場合は、ソースコードを変更し、コンパイルし直す必要があるため、動作指示をリアルタイムに変更することができない。
以上の様な課題を解決するために、例えば、プログラマブル回路に、所定の処理を行うための一連の動作を示す動作指示を2以上保持させ、外部からは処理要求のみを受け取り、当該処理要求に対応する動作指示に従い動作を行わせることが考えられる。しかしながら、従来のプログラマブル回路では、処理要求のみを受け取るだけで当該処理の要求に対応する動作を行うことができなかった。
本第一の発明のプログラマブル回路は、所定の処理を要求することを示す処理要求情報に応じて動作を行うプログラマブル回路であって、要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報が格納される格納部と、処理要求情報を受け付ける受付部と、受付部が受け付けた処理要求情報が、格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を格納部から取得する取得部と、取得部が取得した動作情報に従い動作を行う動作部とを具備するプログラマブル回路である。
このような構成により、受け取った処理要求に対応する動作指示をリアルタイムに選択し、選択した動作指示に従い動作を行うことができる。
また、本第二の発明のプログラマブル回路は、第一の発明に対して、取得部は、2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納される格納手段と、受付部が受け付けた処理要求情報が、格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を格納部から取得する取得手段と、取得手段が取得した2以上の動作情報の各々が、選択条件に合致するか否かを判断し、合致する1以上の動作情報を取得する選択手段とを具備し、動作部は、選択手段が取得した1以上の動作情報の各々に従い動作を行うプログラマブル回路である。
このような構成により、処理要求に対応する2以上の動作指示のうち、所定の条件を満たす動作指示を選択することができる。
また、本第三の発明のプログラマブル回路は、第一の発明に対して、取得部は、受付部が受け付けた処理要求情報が、格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を格納部から取得する取得手段を具備し、動作部は、取得手段が取得した2以上の動作情報の各々に従い動作を行い、行った各々の動作の結果を示す2以上の動作結果情報を取得し、取得部は、2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納される格納手段と、動作部が取得した2以上の動作結果情報の各々が、選択条件に合致するか否かを判断し、合致する1以上の動作結果情報の各々に対応する1以上の動作情報を、取得手段が取得した2以上の動作情報から取得する選択手段をさらに具備し、動作部は、選択手段が取得した1以上の動作情報の各々に従い動作を行うプログラマブル回路である。
このような構成により、処理要求に対応する2以上の動作指示のうち、動作の結果が所定の条件を満たす動作指示を選択することができる。
また、本第四の発明のプログラマブル回路は、第一の発明に対して、取得部は、受付部が受け付けた処理要求情報が、格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を格納部から取得する取得手段と、取得手段が取得した2以上の動作情報を結合し、1つの動作情報を取得する結合手段とを具備し、動作部は、結合手段が取得した1つの動作情報に従い動作を行うプログラマブル回路である。
このような構成により、処理要求に対応する2以上の動作指示を結合することができる。
また、本第五の発明のプログラマブル回路は、第二から第四いずれかの発明に対して、動作部は、取得部が取得した動作情報に従い動作を行い、行った動作の結果を示す動作結果情報を取得し、取得手段は、受付部が受け付けた処理要求情報、および動作部が取得した動作結果情報が、格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を格納部から取得するプログラマブル回路である。
このような構成により、過去の動作結果に対応する動作指示を取得することができる。
また、本第六の発明のプログラマブル回路は、第二から第五いずれかの発明に対して、取得部は、取得手段が取得した動作情報を、受付部が受け付けた処理要求情報に応じて変更し、変更後の動作情報を取得する変更手段をさらに具備し、動作部は、変更手段が取得した動作情報に従い動作を行うプログラマブル回路である。
このような構成により、処理要求に対応する動作指示を、当該処理要求に応じて変更することができる。
また、本第七の発明のプログラマブル回路は、第六の発明に対して、処理要求情報は、要求する処理において使用するパラメータを有し、変更手段は、取得手段が取得した動作情報の一部を、受付部が受け付けた処理要求情報が有するパラメータで置換し、置換後の動作情報を取得するプログラマブル回路である。
このような構成により、処理要求がパラメータを有する場合に、当該処理要求に対応する動作指示の一部を、当該パラメータにて置換することができる。
また、本第八の発明のプログラマブル回路は、第六の発明に対して、処理要求情報は、要求する処理が完了する時間の条件である時間条件を有し、変更手段は、取得手段が取得した動作情報の一部を、受付部が受け付けた処理要求情報が有する時間条件を満たすように削除し、削除後の動作情報を取得するプログラマブル回路である。
このような構成により、処理要求が処理時間の条件を有する場合に、当該処理要求に対応する動作指示の一部を、当該処理時間の条件を満たすように削除することができる。
また、本第九の発明のプログラマブル回路は、第六の発明に対して、処理要求情報は、要求する処理の順序の条件である順序条件を有し、変更手段は、取得手段が取得した動作情報の順序を、受付部が受け付けた処理要求情報が有する順序条件を満たすように入れ替え、入れ替え後の動作情報を取得するプログラマブル回路である。
このような構成により、処理要求が処理順序の条件を有する場合に、当該処理要求に対応する動作指示の一部を、当該処理順序の条件を満たすように入れ替えることができる。
本発明によるプログラマブル回路等によれば、受け取った処理要求に対応する動作指示をリアルタイムに選択し、選択した動作指示に従い動作を行うことができる。これにより、例えば、ユーザは、動作指示であるオブジェクトコードなどを事前に作成することなく、処理要求のみを与えるだけで、プログラマブル回路に所望の動作を行わせることができる。
実施の形態1のプログラマブル回路1のブロック図 同プログラマブル回路1の全体動作について説明するフローチャート 同処理要求情報に応じた変更処理について説明するフローチャート 同動作管理情報の例を示す図 同動作情報の例を示す図 同動作情報の例を示す図 同回路構成例を示す図 同回路構成例を示す図
以下、本発明によるプログラマブル回路等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、所定の情報が格納され得る格納部等において、当該格納部に情報が記憶される過程は問わないものとする。例えば、記録媒体を介して情報が格納部等で記憶されるようになってもよい。また、通信回線などを介して送信された情報が格納部等で記憶されるようになってもよい。さらに、入力デバイスを介して入力された情報が格納部等で記憶されるようになってもよい。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、処理要求に応じて動作するプログラマブル回路1であって、処理要求に対応する動作情報を選択し、当該動作情報に従い動作するプログラマブル回路1について説明する。
図1は、本実施の形態におけるプログラマブル回路1のブロック図である。プログラマブル回路1は、格納部11、受付部12、取得部13、動作部14を備える。また、取得部13は、格納手段131、取得手段132、選択手段133、結合手段134、変更手段135を備える。なお、図1において、格納部11、受付部12、取得部13、動作部14は、通常、一体であるが、そうでなくてもよい。「一体である」とは、例えば、物理的に分離不可であることや、物理的に閉じられた1つの空間内にあること、1つの電子回路基板上に構成されていることなどを意味する。
また、格納部11、受付部12、取得部13、動作部14が一体である場合、本実施の形態におけるプログラマブル回路1は、例えば、CPU(Central Processing Unit)や、MPU(Micro Processing Unit)などのいわゆるプロセッサと呼ばれる集積回路や、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などのいわゆるPLD(Programmable Logic Device)と呼ばれる集積回路などである。また、一体でない場合、本実施の形態におけるプログラマブル回路1は、例えば、CPUや記憶回路などの2以上の集積回路を備える回路や装置などである。
格納部11には、後述の動作部14が動作を行う際に用いる動作情報を管理する情報である1以上の動作管理情報が格納される。動作管理情報は、要求された処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する。処理要求条件は、通常、所定の処理を要求することを示す情報である処理要求情報に関する条件である。つまり、処理要求条件は、後述の受付部12が受け付けた処理要求情報に対応する動作情報を取得するための条件である。また、処理要求条件は、後述の動作部14が動作情報に従い行った動作の結果を示す動作結果情報に関する条件であってもよい。つまり、処理要求条件は、後述の動作部14が動作情報に従い行った動作の結果に対応する動作情報を取得するための条件であってもよい。
処理要求情報は、例えば、処理の内容を示す処理内容情報や、当該処理の程度を示す処理程度情報、当該処理に用いるパラメータ、当該処理に要する時間を示す処理時間情報、処理により得られる結果の品質を示す処理結果品質情報などである。処理内容情報は、例えば、「高解像度化」や、「ノイズ除去」などである。処理程度情報は、例えば、「強」、「弱」、「大」、「小」などである。また、パラメータは、例えば、「80%」や、「0.1」などである。また、処理時間情報は、例えば、「1μsec」や、「0.5μsec」などである。また、処理結果品質情報は、例えば、「高」や、「低」、「80/100」、「50%」などである。
また、動作結果情報は、例えば、動作部14が動作を行うことにより行った処理の内容を示す処理内容情報や、当該動作に要した時間を示す動作時間情報、当該動作により得られた結果の品質を示す動作結果品質情報などである。また、動作結果情報は、例えば、処理内容情報や、動作時間情報、動作結果品質情報などの統計量であってもよい。統計量とは、例えば、平均や分散などである。また、当該平均は、例えば、過去10回の平均などである。なお、動作時間情報は、処理時間情報と同様である。また、動作結果品質情報は、処理結果品質情報と同様である。
つまり、処理要求条件は、例えば、処理内容情報に関する条件である処理内容条件や、処理程度情報に関する条件である処理程度条件、パラメータに関する条件であるパラメータ条件、処理時間情報に関する条件である処理時間条件、処理結果品質情報に関する条件である処理結果品質条件、動作時間情報に関する条件である動作時間条件、動作結果品質情報に関する条件である動作結果品質条件などである。処理内容条件は、例えば、「処理内容=高解像度化」や、「処理内容=高解像度化&ノイズ除去」などである。また、処理程度条件は、例えば、「程度=強」や、「程度=弱&強」などである。また、パラメータ条件は、例えば、「パラメータ=100」や、「param=0.8」などである。また、処理時間条件および動作時間条件は、例えば、「時間<0.5μsec」や、「0.1≦時間<0.5μsec」などである。また、処理結果品質条件および動作結果品質条件は、例えば、「品質≧80」や、「60≦品質<80」などである。
また、処理要求条件は、例えば、「処理要求情報または動作結果情報が、所定の情報を有すること」であってもよい。「所定の情報」とは、通常、上記の各種情報である。つまり、この場合の処理要求条件は、例えば、「処理要求情報が、処理内容情報を有すること」や、「処理要求情報が、処理内容情報「高解像度化」を有すること」などである。
また、動作情報は、通常、後述の動作部14が行う動作を指示するための情報である。動作情報は、例えば、プログラムや、回路情報などである。プログラムは、通常、いわゆるオブジェクトコード(いわゆるバイナリ)であるが、例えば、アセンブリ言語で記述されたものなどであってもよい。つまり、プログラムは、CPUやMPUなどのプロセッサが解釈し、解釈どおりに動作を行う(所定の処理を行う)ことができるものであれば、書式や形式などは問わない。また、回路情報とは、通常、いわゆるネットリストや、回路デザイン、コンフィギュレーション情報と呼ばれるものである。つまり、回路情報は、ASICやFPGAなどの集積回路が解釈し、解釈どおりに動作を行う(内部の回路構成を定義・変更する)ことができるものであれば、書式や形式などは問わない。
また、動作情報は、通常、2以上の命令の集合であるが、1つの命令であってもよい。また、当該命令は、指示であってもよい。また、動作情報は、2以上の動作情報の集合であってもよい。また、動作情報は、例えば、変数や、置換することを示す記号などを有していてもよい。また、動作情報は、動作情報を識別する識別子であってもよい。また、動作情報は、通常、機械語である。
また、動作管理情報は、動作情報の属性を示す動作属性情報を有していてもよい。動作属性情報は、例えば、動作情報に従った動作により行われる処理の内容を示す処理内容情報や、動作情報の優先順位を示す優先順位情報、動作情報に従った動作に要する時間を示す動作時間情報、動作情報に従い動作を行うことにより構成される回路の規模を示す回路規模情報、動作情報のサイズ(容量)を示すサイズ情報、当該動作により得られた結果の品質を示す動作結果品質情報、動作情報を解釈することができる回路を識別する回路識別子などである。
優先順位情報は、例えば、相対的な優先順位を示すものであってもよいし、絶対的な優先順位を示すものであってもよい。優先順位情報は、例えば、「高」や、「低」、「1位」、「100」などである。また、回路規模情報は、例えば、回路数を示すものであってもよいし、回路の大きさを示すものであってもよい。回路規模情報は、例えば、「10Mゲート」や、「大」、「小」などである。また、回路識別子は、例えば、「CPU_A」や、「MPU_X」などである。なお、動作管理情報が有する動作情報などの各種情報の書式や形式などは、問わない。
受付部12は、処理要求情報を受け付ける。受け付けとは、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体からの情報の取得や読み出しなどを含む概念である。また、受付部12が受け付ける処理要求情報は、通常、処理内容情報や、処理程度情報などを、1以上有する。また、受付部12は、処理要求情報が所定の条件(以下、処理要求判断条件)を満たすか否かを判断し、満たすと判断した処理要求情報のみを受け付けてもよい。当該処理要求判断条件は、通常、処理要求条件と同様である。また、この場合、処理要求判断条件は、通常、受付部12が保持しているが、所定の記憶領域や任意の記憶領域などに格納されていてもよい。また、受付部12は、処理要求条件を受け付けてもよい。この場合、受付部12は、当該処理要求条件を、処理要求情報として受け付けてもよい。
取得部13は、受付部12が受け付けた処理要求情報が合致する処理要求条件に対応する1以上の動作情報を、格納部11から取得する。「処理要求情報が合致する」とは、当該処理要求情報が処理要求条件を満たすことである。また、取得部13は、通常、後述の各手段により、1以上の動作情報を取得する。従って、後述の各手段が取得した1以上の動作情報が、取得部13が取得した動作情報となる。
また、例えば、受付部12が処理要求条件を受け付けた場合、取得部13は、当該処理要求条件に合致する動作属性情報に対応する1以上の動作情報を、格納部11から取得してもよい。「処理要求条件に合致する」とは、動作属性情報が処理要求条件を満たすことである。つまり、取得部13は、受付部12が受け付けた処理要求情報または処理要求条件に対応する動作情報を、格納部11から取得できればよく、その取得の方法や手順などは、問わない。
格納手段131には、選択条件が格納される。選択条件とは、2以上の動作情報から1以上の動作情報を取得するための条件である。また、選択条件は、通常、動作情報に関する条件であるが、具体的には、動作情報に対応付いている動作属性情報に関する条件である。選択条件は、例えば、優先順位に関する優先順位条件や、動作時間に関する条件である動作時間条件、回路規模に関する条件である回路規模条件などである。また、格納手段131には、通常、1または2以上の選択条件が格納される。
取得手段132は、受付部12が受け付けた処理要求情報が合致する処理要求条件に対応する1または2以上の動作情報を取得する。この場合、取得手段132は、例えば、受付部12が受け付けた処理要求情報を取得し、当該処理要求情報が、格納部11に格納されている1以上の動作管理情報が有する処理要求条件のいずれに合致するか否かを判断する。そして、取得手段132は、合致すると判断した1または2以上の処理要求条件の各々に対応する動作情報を取得する。
また、取得手段132は、動作情報の取得の際に、動作結果情報を用いてもよい。この場合、取得手段132は、通常、受付部12が受け付けた処理要求情報、または後述の動作部14が取得した動作結果情報が、格納部11に格納されている1以上の動作管理情報が有する処理要求条件のいずれに合致するか否かを判断する。そして、取得手段132は、合致すると判断した1または2以上の処理要求条件の各々に対応する動作情報を取得する。
例えば、処理要求情報が「高解像度化」であり、処理要求条件が「処理要求情報⊃処理内容情報」であるとする。当該処理要求情報は、高解像度化の処理を行うことを要求することを意味する。また、当該処理要求条件は、処理要求情報が処理内容情報を有することを意味する。この様な場合、取得手段132は、当該処理要求情報が当該処理要求条件に合致すると判断し、当該処理要求条件に対応する動作情報を、格納部11から取得する。
また、例えば、処理要求情報が「高解像度化」であり、処理要求条件が「処理要求情報⊃処理時間情報」であるとする。当該処理要求条件は、処理要求情報が処理時間情報を有することを意味する。この様な場合、取得手段132は、当該処理要求情報が当該処理要求条件に合致しないと判断する。
また、例えば、処理要求情報が「ノイズ除去,弱」であり、処理要求条件が「処理内容=ノイズ除去&程度=弱」であるとする。当該処理要求情報は、程度が「弱」であるノイズ除去の処理を行うことを要求することを意味する。また、当該処理要求条件は、処理要求情報が有する処理内容情報が「ノイズ除去」であり、かつ、「ノイズ除去」の程度が「弱」であることを意味する。この様な場合、取得手段132は、当該処理要求情報が当該処理要求条件に合致すると判断し、当該処理要求条件に対応する動作情報を、格納部11から取得する。
また、例えば、処理要求情報が「高音質化,80%」であり、動作結果情報が「0.5μsec」であり、処理要求条件が「処理内容=高音質化&向上率≧80%&処理時間≦0.5μsec」であるとする。当該処理要求情報は、向上率「80%」で高音質化の処理を行うことを要求することを意味する。また、当該動作結果情報は、動作情報に従い動作した結果、動作に要した時間が「0.5μsec」であったことを意味する。また、当該処理要求条件は、処理要求情報が有する処理内容情報が「高音質化」であり、かつ、処理要求情報が有する向上率(パラメータ)が「80%」以上であり、処理時間(動作時間)が「0.5μsec」以下であることを意味する。この様な場合、取得手段132は、当該処理要求情報および動作結果情報が当該処理要求条件に合致すると判断し、当該処理要求条件に対応する動作情報を、格納部11から取得する。
また、受付部12が処理要求条件を受け付けた場合、取得手段132は、通常、当該処理要求条件に合致する動作属性情報に対応する1または2以上の動作情報を取得する。この場合、取得手段132は、例えば、受付部12が受け付けた処理要求条件を取得し、当該処理要求条件に、格納部11に格納されている1以上の動作管理情報が有する動作属性情報のいずれが合致するか否かを判断する。そして、取得手段132は、合致すると判断した1または2以上の動作属性情報の各々に対応する動作情報を取得する。
例えば、処理要求条件が「処理内容=高解像度化」であり、動作管理情報が有する動作属性情報が「処理内容:高画質化」であるとする。当該処理要求条件は、処理内容が「高画質化」であることを意味する。当該動作属性情報の意味も同様である。この様な場合、取得手段132は、当該処理要求条件に当該動作属性情報が合致すると判断し、当該動作属性情報に対応する動作情報を、格納部11から取得する。
また、例えば、処理要求条件が「(処理時間≦0.1μsec)&(品質=高)」であり、動作管理情報が有する動作属性情報が「処理時間:0.05μsec」と「品質:高」であるとする。当該処理要求条件は、処理時間が「0.1μsec以下」であり、かつ、品質が「高」であることを意味する。また、当該動作属性情報は、処理時間が「0.05μsec」であり、かつ、品質が「高」であることを意味する。この様な場合、取得手段132は、当該処理要求条件に当該動作属性情報が合致すると判断し、当該動作属性情報に対応する動作情報を、格納部11から取得する。
選択手段133は、取得手段132が2以上の動作情報を取得した場合に、当該2以上の動作情報のうちのいずれか1以上を選択し、取得する。この場合、選択手段133は、通常、取得手段132が取得した2以上の動作情報が、格納手段131に格納されている選択条件に合致するか否かを判断する。そして、選択手段133は、合致すると判断した1以上の動作情報を、当該2以上の動作情報から取得する。
選択条件は、例えば、優先順位に関する優先順位条件や、動作時間に関する条件である動作時間条件、回路規模に関する条件である回路規模条件などである。つまり、選択手段133は、取得手段132が取得した2以上の動作情報に対応付いている優先順位情報などの動作属性情報が、選択条件に合致するか否かを判断する。
また、選択手段133は、動作情報の取得の際に、動作結果情報を用いてもよい。当該動作結果情報は、通常、取得手段132が取得した2以上の動作情報の各々に対応する動作結果情報である。「動作情報に対応する動作結果情報」とは、後述の動作部14が、当該動作情報に従い動作した結果を示す動作結果情報である。つまり、この場合、選択手段133は、通常、取得手段132が取得した2以上の動作情報の各々対応する動作結果情報を、後述の動作部14から取得する。そして、選択手段133は、当該2以上の動作結果情報のいずれが選択条件に合致するか否かを判断する。そして、選択手段133は、合致すると判断した動作結果情報に対応する1以上の動作情報を、取得手段132が取得した2以上の動作情報から取得する。
なお、選択手段133は、通常、取得手段132が取得した2以上の動作情報から、1つの動作情報を取得することが好適である。また、動作情報に対応付いている動作属性情報や、動作結果情報が、選択条件に合致するか否かの判断の方法や手順などは、取得手段132による処理要求情報が処理要求条件に合致するか否かの判断の方法や手順などと同様であるので、説明を省略する。
結合手段134は、取得手段132が2以上の動作情報を取得した場合に、当該2以上の動作情報を結合し、1つの動作情報を生成する。「結合する」とは、通常、連結することであり、一の動作情報の後ろに、他の動作情報を繋げることである。また、「生成する」とは、生成した動作情報を取得することである。
また、2以上の動作情報の結合の順序は問わない。例えば、結合手段134は、取得手段132が当該2以上の動作情報を取得した順序や、当該2以上の各動作情報に対応する動作属性情報が示す順序に応じて、2以上の動作情報を結合してもよい。「動作属性情報が示す順序」とは、例えば、優先順位情報が示す優先順位の昇順や降順、動作時間情報が示す動作時間の昇順や降順、品質情報が示す品質の昇順や降順などである。
また、結合手段134は、選択手段133が2以上の動作情報を取得した場合に、当該2以上の動作情報を結合し、1つの動作情報を生成してもよい。
変更手段135は、取得手段132が取得した動作情報を、受付部12が受け付けた処理要求情報に応じて変更し、変更後の動作情報を取得する。「処理要求情報に応じて」とは、通常、処理要求情報が有する各種情報に従うことである。また、「変更」とは、例えば、置換や、削除、順序の入れ替えなどである。
例えば、処理要求情報がパラメータを有する場合、変更手段135は、例えば、動作情報が有する所定の情報と、当該パラメータとを置換する。当該「所定の情報」とは、例えば、変数であるが、置換することを示す記号などであってもよい。
例えば、処理要求情報がパラメータ「rate=80%」を有しており、動作情報が変数「$rate」を有しているとする。この様な場合、変更手段135は、当該変数「$rate」を、当該パラメータ「80%」で置換する。
また、例えば、処理要求情報が処理時間情報を有する場合、変更手段135は、例えば、動作情報に従い動作を行った際の動作時間が、当該処理時間情報が示す処理時間以下になるように、動作情報が有する所定の情報を削除する。また、例えば、処理要求情報が処理時間条件を有する場合、変更手段135は、例えば、動作情報に従い動作を行った際の動作時間が、当該処理時間条件を満たすように、動作情報が有する所定の情報を削除する。これらの場合、変更手段135は、例えば、動作情報に対応する動作時間情報の合計が、当該処理時間情報以下になる、または当該処理時間条件を満たすまで、対応する動作時間情報が小さい順に、動作情報を削除する。また、この場合、変更手段135は、例えば、動作情報に対応する動作情報の合計が、当該処理時間情報以下になる、または当該処理時間条件を満たすまで、対応する優先順位情報が示す優先順位が低い順に、動作情報を削除してもよい。また、例えば、動作情報が有する1以上の各命令に優先順位情報が対応付いている場合、変更手段135は、優先順位情報が示す優先順位が低い順に、動作情報が有する命令を削除してもよい。
例えば、処理要求情報が処理時間情報「1.0μsec」、または処理時間条件「時間≦1.0μsec」を有しているとする。また、取得手段132が4つの動作情報(以下、動作情報A、動作情報B、動作情報C、動作情報Dとする)を取得し、当該動作情報の各々に動作時間情報「0.5μsec」、「0.2μsec」、「0.1μsec」、「0.3μsec」が対応付いているとする。この様な場合、変更手段135は、まず、これら4つの動作時間情報の合計「1.1μsec」を算出する。そして、変更手段135は、算出した動作時間情報の合計が、動作時間情報以下でないと判断し、まず、動作時間情報が最小である動作情報Cを削除する。そして、この結果、残った3つの動作時間情報の合計が「1.0μsec」となり、処理時間情報以下となるため、変更手段135は、削除を終了する。
また、例えば、処理要求情報が処理の順序を示す処理順序情報を有する場合、変更手段135は、例えば、当該処理順序情報が示す順序で処理が行われるように、動作情報の順序を入れ替える。また、例えば、処理要求情報が処理の順序に関する条件である処理順序条件を有する場合、変更手段135は、例えば、当該処理順序条件を満たすように、動作情報の順序を入れ替える。
例えば、処理要求情報が、処理順序情報「高→低」、または処理順序条件「順序=高→低」を有しているとする。当該処理順序情報、および当該処理順序条件は、優先順位情報が示す優先順位が高いものから順に、動作情報に従った動作を行うことを意味する。また、取得手段132が3つの動作情報(以下、動作情報A、動作情報B、動作情報Cとする)を順に取得し、当該動作情報の各々に優先順位情報「1」、「3」、「2」が対応付いているとする。この様な場合、変更手段135は、当該優先順位情報が示す優先順位の順になるように、動作情報A、動作情報C、動作情報Bの順に順序を入れ替える。
また、例えば、処理要求情報が、処理順序情報「動作情報C、動作情報B、動作情報A」を有しているとする。当該処理順序情報は、「動作情報C」、「動作情報B」、「動作情報A」の順に、動作情報に従った動作を行うことを意味する。また、取得手段132が3つの動作情報(以下、動作情報A、動作情報B、動作情報Cとする)を順に取得したとする。この様な場合、変更手段135は、当該優先順位情報が示す順序になるように、動作情報C、動作情報B、動作情報Aの順に順序を入れ替える。
また、変更手段135は、選択手段133が取得した動作情報、または結合手段134が取得した動作情報を変更してもよい。
なお、取得部13は、上記の各手段を用いて、1または2以上の動作情報が取得できればよく、例えば、取得した2以上の動作情報からの1以上の動作情報の選択や、2以上の動作情報の結合、動作情報の変更などの処理の手順や、当該処理の有無などは、問わない。
動作部14は、取得部13が取得した動作情報に従い動作を行う。例えば、動作情報がプログラムである場合、動作部14は、当該プログラムが有する命令を解釈し、当該命令に従った処理を行う。また、動作情報が回路情報である場合、動作部14は、当該回路情報が有する命令を解釈し、当該命令に従い内部の回路構成の定義や、内部の回路構成の変更などを行う。また、動作部14は、通常、取得部13が取得した動作情報に従い動作を行った後、当該行った動作の結果を示す動作結果情報を取得する。なお、動作部14が動作情報に従い動作を行う方法や手順などは、公知であるので、詳細な説明を省略する。
また、プログラマブル回路1が備える各部は、通常、ASICやMPUなどの集積回路で実現され得る。また、プログラマブル回路1が備える各部がMPUなどで実現され得る場合、処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
また、格納部11、格納手段131は、不揮発性の記録媒体で実現されることが好適であるが、揮発性の記録媒体で実現されてもよい。
また、受付部12は、例えば、無線または有線の通信手段や、放送を受信する手段などで実現されてもよい。
次に、プログラマブル回路1の全体動作について、図2のフローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。また、図2のフローチャートにおいて、格納部11には、m個の動作管理情報が格納されているものとする。
(ステップS201)取得手段132は、受付部12が処理要求情報を受け付けたか否かを判断する。受け付けた場合は、ステップS202に進み、そうでない場合は、ステップS201に戻る。
(ステップS202)取得手段132は、カウンタiに1をセットする。
(ステップS203)取得手段132は、動作部14が動作結果情報を取得済みであるか否かを判断する。取得済みである場合は、ステップS204に進み、そうでない場合は、ステップS205に進む。
(ステップS204)取得手段132は、ステップS201で受け付けた処理要求情報、および所定の記憶領域に格納されている動作結果情報が、格納部11に格納されている動作管理情報[i]が有する処理要求条件[i]に合致するか否かを判断する。合致する場合は、ステップS206に進み、そうでない場合は、ステップS207に進む。
(ステップS205)取得手段132は、ステップS201で受け付けた処理要求情報が、格納部11に格納されている動作管理情報[i]が有する処理要求条件[i]に合致するか否かを判断する。合致する場合は、ステップS206に進み、そうでない場合は、ステップS207に進む。
(ステップS206)取得手段132は、ステップS204またはステップS205で合致すると判断した処理要求条件[i]に対応する動作情報[i]を、格納部11から取得する。
(ステップS207)取得手段132は、iがmであるか否かを判断する。mである場合は、ステップS209に進み、そうでない場合は、ステップS208に進む。
(ステップS208)取得手段132は、iを1インクリメントし、ステップS203に戻る。
(ステップS209)選択手段133は、ステップS206で取得した動作情報が2以上であるか否かを判断する。ここで、ステップS206で取得した動作情報は、n個であるものとする。そして、2以上である場合は、ステップS210に進み、そうでない場合は、ステップS217に進む。
(ステップS210)選択手段133は、カウンタiに1をセットする。
(ステップS211)選択手段133は、ステップS206で取得した動作情報[i]が、格納手段131に格納されている選択条件に合致するか否かを判断する。合致する場合は、ステップS212に進み、そうでない場合は、ステップS213に進む。
(ステップS212)選択手段133は、動作情報[i]を取得する。
(ステップS213)選択手段133は、iがnであるか否かを判断する。nである場合は、ステップS215に進み、そうでない場合は、ステップS214に進む。
(ステップS214)選択手段133は、iを1インクリメントし、ステップS211に戻る。
(ステップS215)結合手段134は、ステップS212で取得した動作情報が2以上であるか否かを判断する。2以上である場合は、ステップS216に進み、そうでない場合は、ステップS217に進む。
(ステップS216)結合手段134は、ステップS212で取得した動作情報を結合し、1つの動作情報を取得する。
(ステップS217)変更手段135は、ステップS206、またはステップS212、ステップS216で取得した動作情報を、ステップS201で受け付けた処理要求情報に応じて変更する。この処理の詳細は、図3のフローチャートを用いて説明する。
(ステップS218)動作部14は、ステップS217で取得した動作情報に従い動作を行う。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
図3は、図2のフローチャートのステップS217の処理要求情報に応じた変更処理を示すフローチャートである。
(ステップS301)変更手段135は、ステップS201で受け付けた処理要求情報が、パラメータを有するか否かを判断する。有する場合は、ステップS302に進み、そうでない場合は、ステップS303に進む。
(ステップS302)変更手段135は、変更の対象となる動作情報が有する記号を、処理要求情報が有するパラメータで置換する。当該記号とは、パラメータと置換することを示す記号(例えば、変数など)である。
(ステップS303)変更手段135は、ステップS201で受け付けた処理要求情報が、処理時間情報を有するか否かを判断する。有する場合は、ステップS304に進み、そうでない場合は、ステップS305に進む。
(ステップS304)変更手段135は、変更の対象となる動作情報に対応する動作時間情報の合計が、処理要求情報が有する処理時間情報以下になるように、動作情報を削除する。
(ステップS305)変更手段135は、ステップS201で受け付けた処理要求情報が、処理順序情報を有するか否かを判断する。有する場合は、ステップS306に進み、そうでない場合は、上位処理にリターンする。
(ステップS306)変更手段135は、変更の対象となる動作情報の順序が、処理要求情報が有する処理順序情報が示す順序に合うように、動作情報の順序を入れ替える。そして、上位処理にリターンする。
なお、図3のフローチャートにおいて、ステップS301、ステップS303、ステップS305の判断の順序は、問わない。
(具体例)
次に、プログラマブル回路1の動作の具体例について説明する。なお、本具体例において、格納部11には、図4に示す動作管理情報が格納されているものとする。当該動作管理情報は、レコードを一意に特定するためのID(項目名:ID)と、処理要求条件(項目名:条件)と、動作情報(項目名:動作情報)と、優先順位情報(項目名:優先順位)と、動作時間情報(項目名:時間)と、回路規模情報(項目名:規模)と、品質情報(項目名:品質)と、回路識別子(項目名:識別子)とを有する。また、図4において、「[μsec]」や、「[gate]」は、それぞれ、時間情報、回路規模情報の単位である。また、図4において、動作情報は、動作情報を識別する識別子である。これらの識別子により識別される動作情報は、例えば、図5や、図6などであり、通常、格納部11に格納されている。図5は、プログラムであり、図6は、回路情報である。また、図4において、「ID=011」から「ID=015」までの動作情報は、図5の様なプログラムであり、「ID=031」から「ID=035」までの動作情報は、図6の様な回路情報であるものとする。
(例1)
本例において、動作部14はCPUであり、当該CPUを識別する回路識別子「CPU_A」を保持しているものとする。
まず、例えば、受付部12が、処理要求情報「処理内容=(高解像度化,ノイズ除去)」を受け付けたとする。当該処理要求情報は、高解像度化の処理と、ノイズ除去の処理とを行うための動作を要求することを意味する。すると、取得手段132は、当該処理要求情報が、図4の「ID=011」から「ID=014」までの処理要求条件に合致すると判断する。そして、取得手段132は、図4の「ID=011」から「ID=014」までの動作情報を取得する。このとき、取得手段132は、通常、当該動作情報に対応付いている優先順位情報などと共に取得する。
次に、選択手段133は、図4の「ID=011」から「ID=014」までの4つの動作情報から、選択条件に合致する動作情報を取得する。ここで、選択条件が「処理時間≦0.3μsec」であるとする。すると、選択手段133は、図4の「ID=011」から「ID=014」までの動作情報に対応付いている動作時間情報を用いて、選択条件に合致するか否かを判断し、図4の「ID=011」は、選択条件に合致しないと判断し、「ID=012」から「ID=014」までは、選択条件に合致すると判断する。ここで、「ID=013」と「ID=014」の動作情報は、処理要求条件より、同一の処理を行うための動作情報であることがわかる。しかしながら、動作時間情報は、「ID=014」の方が小さい。従って、選択手段133は、図4の「ID=012」と「ID=014」の動作情報を取得する。
次に、結合手段134は、図4の「ID=012」と「ID=014」の動作情報を結合し、1つの動作情報を生成する。当該動作情報は、例えば、図5の様なプログラムである。そして、動作部14は、結合手段134が作成した図5の様なプログラム中の命令を解釈し、当該命令どおりの動作を行う。
また、例えば、受付部12が、処理要求情報「処理内容=(高解像度化,ノイズ除去)&処理時間≦0.8μsec」を受け付けたとする。当該処理要求情報は、高解像度化の処理と、ノイズ除去の処理とを、0.8μsec以下で行うための動作を行うことを要求することを意味する。すると、取得手段132は、当該処理要求情報が、図4の「ID=011」から「ID=014」までの処理要求条件に合致すると判断する。そして、取得手段132は、図4の「ID=011」から「ID=014」までの動作情報を取得する。
次に、変更手段135は、受付部12が受け付けた処理要求情報が処理時間情報(以下、適宜、処理時間条件)を有しているので、取得手段132が取得した動作情報に対応する動作時間情報の合計が、当該処理時間条件に合致するように、動作情報を削除する。
まず、図4の「ID=011」から「ID=014」までの動作時間情報の合計は、「1.1」である。従って、変更手段135は、当該4つの動作情報のうちの1つを削除すると判断する。ここで、当該4つの動作情報のうち、優先順位が一番低いのは、「ID=014」の動作情報である。従って、変更手段135は、取得手段132が取得した動作情報から、「ID=014」の動作情報を削除する。この結果、残った3つの動作情報に対応する動作時間情報の合計は、「1.0」となる。
次に、変更手段135は、動作情報の合計が処理時間条件に合致しないと判断し、当該3つの動作情報のうちの1つを削除すると判断する。ここで、当該3つの動作情報のうち、優先順位が一番低いのは、「ID=012」の動作情報である。従って、変更手段135は、残った3つの動作情報から、「ID=012」の動作情報を削除する。この結果、残った2つの動作情報に対応する動作時間情報の合計は、「0.7」となる。従って、変更手段135は、動作情報の削除を終了する。
次に、結合手段134は、図4の「ID=011」と「ID=013」の動作情報を結合し、1つの動作情報を生成する。当該動作情報は、例えば、図5の様なプログラムである。そして、動作部14は、結合手段134が作成した図5の様なプログラム中の命令を解釈し、当該命令どおりの動作を行う。
また、例えば、受付部12が、処理要求情報「(高解像度化,強,90%)&(ノイズ除去,強,80%)」を受け付けたとする。当該処理要求情報は、程度が「強」であり、パラメータ「90%」を用いる高解像度化の処理と、程度が「強」であり、パラメータ「80%」を用いるノイズ除去の処理とを行うための動作を要求することを意味する。すると、取得手段132は、当該処理要求情報の各々が、図4の「ID=011」の処理要求条件と、図4の「ID=013」の処理要求条件に合致すると判断する。そして、取得手段132は、図4の「ID=011」と「ID=013」の動作情報を取得する。
次に、変更手段135は、図4の「ID=011」の動作情報に含まれる変数を、当該動作情報を取得する際に用いた処理要求情報が有するパラメータ「90%」で置換する。このとき、変更手段135は、例えば、変数「$rate」と、パラメータ「90%」とを置換する。また、変更手段135は、上記と同様に、図4の「ID=013」の動作情報に含まれる変数を、当該動作情報を取得する際に用いた処理要求情報が有するパラメータ「80%」で置換する。
次に、結合手段134は、パラメータでの置換後の、図4の「ID=011」と「ID=013」の動作情報を結合し、1つの動作情報を生成する。当該動作情報は、例えば、図5の様なプログラムである。そして、動作部14は、結合手段134が作成した図5の様なプログラム中の命令を解釈し、当該命令どおりの動作を行う。
また、例えば、受付部12が、処理要求情報「高解像度化」を受け付けたとする。当該処理要求情報は、高解像度化の処理を行うための動作を要求することを意味する。すると、取得手段132は、当該処理要求情報が、図4の「ID=011」と「ID=012」の処理要求条件に合致すると判断する。そして、取得手段132は、図4の「ID=011」と「ID=012」の動作情報を取得する。
次に、動作部14は、取得手段132が取得した図4の「ID=011」と「ID=012」の動作情報の各々に従い動作を行う。そして、動作部14は、当該動作の結果を示す動作結果情報を、所定の記憶領域に蓄積する。ここで、当該動作結果情報が、高解像度化の処理を行った画像の品質を示す画像品質情報であるとする。そして、図4の「ID=011」に従い行った動作の結果を示す画像品質情報が、最高を「100」としたときの「95」であり、図4の「ID=012」に従い行った動作の結果を示す画像品質情報が、最高を「100」としたときの「85」であるとする。
次に、選択手段133は、図4の「ID=011」と「ID=012」の動作情報の各々に対応する画像品質情報「95」と「85」を比較し、「ID=011」に対応する画像品質情報の方が高いと判断する。そして、選択手段133は、取得手段132が取得した図4の「ID=011」と「ID=012」の動作情報から、「ID=011」の動作情報を取得する。
次に、動作部14は、選択手段133が取得した図4の「ID=011」の動作情報に従い動作を行う。ここで、動作部14は、既に、図4の「ID=011」の動作情報に従い動作を行っている。従って、動作部14は、図4の「ID=011」の動作情報に従い既に行った動作を、自身が行った動作として採用する。
(例2)
本例において、動作部14はFPGAであり、当該FPGAを識別する回路識別子「FPGA_X」を保持しているものとする。
まず、例えば、受付部12が、処理要求情報「高解像度化」を受け付けたとする。すると、取得手段132は、当該処理要求情報が、図4の「ID=031」と「ID=034」の処理要求条件に合致すると判断する。また、取得手段132は、当該2つの動作管理情報のうち、動作部14が保持する回路識別子「FPGA_X」が、「ID=031」の回路識別子に合致すると判断する。そして、取得手段132は、図4の「ID=031」の動作情報を取得する。
次に、動作部14は、取得手段132が取得した動作情報に従い動作を行う。当該動作情報は、図6の様な回路情報である。従って、動作部14は、図6の様な回路情報中の命令を解釈し、当該命令どおりに自身の内部回路の構成を定義する。
なお、本例において、取得手段132が2以上の動作情報を取得する例や、当該2以上の動作情報を結合する例などは、例1と同様であるので、説明を省略する。
(例3)
図7は、プログラマブル回路1の回路構成例を示す図である。図7において、プログラマブル回路1は、プログラムジェネレート回路22、MPU_A26、MPU_B27、専用論理回路_C28を備える。当該2つのMPUは、命令セットを含めたプログラムコードの形式が異なっていてもよい。また、図7において、21は、処理要求情報の例(以下、処理要求情報21)である。当該処理要求情報21は、程度が「高」である高解像度化の処理と、程度が「弱」であるノイズ除去の処理を行うための動作を要求することを意味する。また、プログラムコードA23、プログラムコードB24、プログラムコードC25は、動作情報である。また、29は、プログラムコードAの例である。また、プログラムジェネレート回路22は、受付部12と、取得部13に相当する。また、MPU_A26、MPU_B27、専用論理回路_C28の各々は、動作部14に相当する。また、プログラムジェネレート回路22は、通常、格納部11に相当するメモリ(図示せず)を備える。
プログラムジェネレート回路22には、処理要求情報21の様な処理要求情報が入力される。そして、プログラムジェネレート回路22は、入力された処理要求情報が合致する処理要求条件に対応する動作情報を、自身が備えるメモリから取得する。図7において、プログラムジェネレート回路22は、処理要求情報21が合致する処理要求条件に対応する動作情報であり、MPU_A26、MPU_B27、専用論理回路_C28の各々の回路(当該回路を識別する回路識別子)に対応する合計3つの動作情報を取得する。そして、プログラムジェネレート回路22は、MPU_A26に対応する動作情報として、プログラムコードA23を取得し、MPU_B27に対応する動作情報として、プログラムコードB24を取得し、専用論理回路_C28に対応する動作情報として、プログラムコードC25を取得する。そして、プログラムジェネレート回路22は、取得した3つの動作情報について、プログラムコードA23はMPU_A26に送信し、プログラムコードB24はMPU_B27に送信し、プログラムコードC25は専用論理回路_C28に送信する。
MPU_A26、MPU_B27、専用論理回路_C28の各々は、プログラムジェネレート回路22から動作情報を受信すると、受信した動作情報に従い動作を行う。図7において、MPU_A26、およびMPU_B27は、程度が「高」である高解像度化の処理と、程度が「弱」であるノイズ除去の処理を行う。また、専用論理回路_C28は、程度が「高」である高解像度化の処理と、程度が「弱」であるノイズ除去の処理を行うための内部回路の構成を定義する。
(例4)
図8は、格納部11、受付部12、取得部13の回路構成例であるプログラムジェネレート回路3を示す図である。プログラムジェネレート回路3は、テンプレートテーブル34、2つのテンプレート選択回路35、2つのテンプレート置換回路36、2つのテンプレート削除回路37、テンプレート結合回路38を備える。また、図7において、処理方式31、処理パラメータ32、処理時間33は、動作情報である。また、テンプレートテーブル34は、格納部11に相当する。また、テンプレート選択回路35は、受付部12、格納手段131、取得手段132、選択手段133に相当する。また、テンプレート置換回路36、テンプレート削除回路37は、受付部12、変更手段135に相当する。また、テンプレート結合回路38は、結合手段134に相当する。
テンプレート選択回路35には、処理方式31が入力される。当該処理方式は、処理内容情報に相当する。そして、テンプレート選択回路35は、テンプレートテーブル34に格納されている1以上の動作情報から、入力された処理方式31に対応する動作情報を取得する。このとき、図8において、テンプレート選択回路35の各々は、通常、1つの動作情報を取得する。そして、テンプレート選択回路35は、取得した動作情報を、テンプレート置換回路36に送信する。
テンプレート置換回路36には、処理パラメータ32と、テンプレート選択回路35が取得した動作情報とが入力される。そして、テンプレート置換回路36は、入力された動作情報中の処理パラメータに相当する箇所を、入力された処理パラメータ32で置換する。そして、テンプレート置換回路36は、処理パラメータ32での置換後の動作情報を、テンプレート削除回路37に送信する。
テンプレート削除回路37には、処理時間33と、テンプレート置換回路36が取得した動作情報とが入力される。そして、テンプレート削除回路37は、入力された処理時間33が示す時間内に処理が完了するように、入力された動作情報から、優先順位の低い命令を、順に削除していく。このとき、入力された動作情報が有する各命令には、通常、優先順位情報と、処理時間情報とが対応付いている。また、当該処理時間情報は、実際の処理時間ではなく、削除するか否かを判断するための目安となる処理時間であってもよい。そして、テンプレート削除回路37は、命令を削除するたびに、処理時間情報の合計を算出し、当該合計が、入力された処理時間33以下であるか否かを判断する。そして、テンプレート削除回路37は、処理時間情報の合計が、入力された処理時間33以下になれば、削除を終了する。そして、テンプレート削除回路37は、命令を削除後の動作情報を、テンプレート結合回路38に送信する。
テンプレート結合回路38には、テンプレート削除回路37の各々が取得した2つの動作情報が入力される。そして、テンプレート結合回路38は、入力された2つの動作情報を結合し、当該動作情報を、例えば、動作部14に相当する回路に送信する。
以上、本実施の形態によるプログラマブル回路1によれば、受け取った処理要求に対応する動作指示をリアルタイムに選択し、選択した動作指示に従い動作を行うことができる。これにより、例えば、ユーザは、動作指示であるオブジェクトコードなどを事前に作成することなく、処理要求のみを与えるだけで、プログラマブル回路に所望の動作を行わせることができる。
なお、本実施の形態において、プログラマブル回路1は、2以上の動作部14を備えていてもよい。この場合、2以上の各動作部14は、通常、回路識別子を保持している。また、この場合、取得部13は、通常、当該回路識別子の各々に対応する2以上の動作情報を取得する。例えば、プログラマブル回路1が2つの動作部14を備えており、当該動作部14の各々が、回路識別子「回路A」、「回路B」を保持しているとする。この様な場合、取得部13は、通常、受付部12が受け付けた処理要求情報が合致する処理要求条件に対応する動作情報であり、回路識別子「回路A」、「回路B」の各々が対応付いた2以上の動作情報を取得する。
また、本実施の形態において、格納部11に格納されている動作管理情報は、通常、変更が可能である。これにより、動作管理情報の追加や、動作管理情報の削除、動作管理情報の修正(更新)などを行うことができる。
また、本実施の形態において、取得部13は、受付部12が一の処理要求情報を受け付けるたびに、当該一の処理要求情報に対応する動作情報を、格納部11から取得する。このとき、取得部13は、通常、当該一の処理要求情報に対応する1または2以上の動作情報を取得する。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかるプログラマブル回路は、受け取った処理要求に対応する動作指示をリアルタイムに選択し、選択した動作指示に従い動作を行うことができる。これにより、例えば、ユーザは、動作指示であるオブジェクトコードなどを事前に作成することなく、処理要求のみを与えるだけで、プログラマブル回路に所望の動作を行わせることができるという効果を有し、CPUやMPUなどのプロセッサ等として有用である。
1 プログラマブル回路
11 格納部
12 受付部
13 取得部
14 動作部
131 格納手段
132 取得手段
133 選択手段
134 結合手段
135 変更手段

Claims (11)

  1. 所定の処理を要求することを示す処理要求情報に応じて動作を行うプログラマブル回路であって、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報が格納される格納部と、
    前記処理要求情報を受け付ける受付部と、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記格納部から取得する取得部と、
    前記取得部が取得した動作情報に従い動作を行う動作部とを具備し、
    前記取得部は、
    2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納される格納手段と、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記格納部から取得する取得手段と、
    前記取得手段が取得した2以上の動作情報の各々が、前記選択条件に合致するか否かを判断し、合致する1以上の動作情報を取得する選択手段とを具備し、
    前記動作部は、
    前記選択手段が取得した1以上の動作情報の各々に従い動作を行うプログラマブル回路。
  2. 所定の処理を要求することを示す処理要求情報に応じて動作を行うプログラマブル回路であって、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報が格納される格納部と、
    前記処理要求情報を受け付ける受付部と、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記格納部から取得する取得部と、
    前記取得部が取得した動作情報に従い動作を行う動作部とを具備し、
    前記取得部は、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記格納部から取得する取得手段を具備し、
    前記動作部は、
    前記取得手段が取得した2以上の動作情報の各々に従い動作を行い、当該行った各々の動作の結果を示す2以上の動作結果情報を取得し、
    前記取得部は、
    2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納される格納手段と、
    前記動作部が取得した2以上の動作結果情報の各々が、前記選択条件に合致するか否かを判断し、合致する1以上の動作結果情報の各々に対応する1以上の動作情報を、前記取得手段が取得した2以上の動作情報から取得する選択手段をさらに具備し、
    前記動作部は、
    前記選択手段が取得した1以上の動作情報の各々に従い動作を行うプログラマブル回路
  3. 所定の処理を要求することを示す処理要求情報に応じて動作を行うプログラマブル回路であって、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報が格納される格納部と、
    前記処理要求情報を受け付ける受付部と、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記格納部から取得する取得部と、
    前記取得部が取得した動作情報に従い動作を行う動作部とを具備し、
    前記取得部は、
    前記受付部が受け付けた処理要求情報が、前記格納部に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記格納部から取得する取得手段と、
    前記取得手段が取得した2以上の動作情報を結合し、1つの動作情報を取得する結合手段とを具備し、
    前記動作部は、
    前記結合手段が取得した1つの動作情報に従い動作を行うプログラマブル回路
  4. 前記動作部は、
    前記取得部が取得した動作情報に従い動作を行い、当該行った動作の結果を示す動作結果情報を取得し、
    前記取得手段は、
    前記受付部が受け付けた処理要求情報、および前記動作部が取得した動作結果情報が、前記格納部に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記格納部から取得する請求項1から請求項3いずれか記載のプログラマブル回路。
  5. 前記取得部は、
    前記取得手段が取得した動作情報を、前記受付部が受け付けた処理要求情報に応じて変更し、当該変更後の動作情報を取得する変更手段をさらに具備し、
    前記動作部は、
    前記変更手段が取得した動作情報に従い動作を行う請求項1から請求項4いずれか記載のプログラマブル回路。
  6. 前記処理要求情報は、要求する処理において使用するパラメータを有し、
    前記変更手段は、
    前記取得手段が取得した動作情報の一部を、前記受付部が受け付けた処理要求情報が有するパラメータで置換し、当該置換後の動作情報を取得する請求項記載のプログラマブル回路。
  7. 前記処理要求情報は、要求する処理が完了する時間の条件である時間条件を有し、
    前記変更手段は、
    前記取得手段が取得した動作情報の一部を、前記受付部が受け付けた処理要求情報が有する時間条件を満たすように削除し、当該削除後の動作情報を取得する請求項記載のプログラマブル回路。
  8. 前記処理要求情報は、要求する処理の順序の条件である順序条件を有し、
    前記変更手段は、
    前記取得手段が取得した動作情報の順序を、前記受付部が受け付けた処理要求情報が有する順序条件を満たすように入れ替え、当該入れ替え後の動作情報を取得する請求項記載のプログラマブル回路。
  9. 所定の処理を要求することを示す処理要求情報に応じて動作を行うための演算処理方法であり、
    記録媒体に、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報、および2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納されており、
    受付部と、取得部と、動作部とを用いて行われる演算処理方法であって、
    前記受付部が、
    前記処理要求情報を受け付ける受付ステップと、
    前記取得部が、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記記録媒体から取得する取得ステップと、
    前記動作部が、
    前記取得ステップで取得された動作情報に従い動作を行う動作ステップとを具備し、
    前記取得ステップは、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記記録媒体から取得する取得サブステップと、
    前記取得サブステップで取得された2以上の動作情報の各々が、前記選択条件に合致するか否かを判断し、合致する1以上の動作情報を取得する選択サブステップとを具備し、
    前記動作ステップは、
    前記選択サブステップが取得した1以上の動作情報の各々に従い動作を行う演算処理方法。
  10. 所定の処理を要求することを示す処理要求情報に応じて動作を行うための演算処理方法であり、
    記録媒体に、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報、および2以上の動作情報から1以上の動作情報を取得するための条件である選択条件が格納されており、
    受付部と、取得部と、動作部とを用いて行われる演算処理方法であって、
    前記受付部が、
    前記処理要求情報を受け付ける受付ステップと、
    前記取得部が、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記記録媒体から取得する取得ステップと、
    前記動作部が、
    前記取得ステップで取得された動作情報に従い動作を行う動作ステップとを具備し、
    前記取得ステップは、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記記録媒体から取得する取得サブステップと、
    前記取得サブステップで取得された2以上の動作情報の各々が、前記選択条件に合致するか否かを判断し、合致する1以上の動作情報を取得する選択サブステップとを具備し、
    前記取得ステップは、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記記録媒体から取得する取得サブステップを具備し、
    前記動作ステップは、
    前記取得サブステップが取得した2以上の動作情報の各々に従い動作を行い、当該行った各々の動作の結果を示す2以上の動作結果情報を取得し、
    前記取得ステップは、
    前記動作ステップで取得された2以上の動作結果情報の各々が、前記選択条件に合致するか否かを判断し、合致する1以上の動作結果情報の各々に対応する1以上の動作情報を、前記取得サブステップで取得された2以上の動作情報から取得する選択サブステップをさらに具備し、
    前記動作ステップは、
    前記選択サブステップで取得された1以上の動作情報の各々に従い動作を行う演算処理方法。
  11. 所定の処理を要求することを示す処理要求情報に応じて動作を行うための演算処理方法であり、
    記録媒体に、
    要求された所定の処理に関する条件である処理要求条件と、所定の処理を行うための一連の動作を示す動作情報とを有する1以上の動作管理情報が格納されており、
    受付部と、取得部と、動作部とを用いて行われる演算処理方法であって、
    前記受付部が、
    前記処理要求情報を受け付ける受付ステップと、
    前記取得部が、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている1以上の処理要求条件のいずれに合致するか否かを判断し、合致する処理要求条件に対応する動作情報を前記記録媒体から取得する取得ステップと、
    前記動作部が、
    前記取得ステップで取得された動作情報に従い動作を行う動作ステップとを具備し、
    前記取得ステップは、
    前記受付ステップで受け付けられた処理要求情報が、前記記録媒体に格納されている2以上の処理要求条件のいずれに合致するか否かを判断し、合致する2以上の処理要求条件の各々に対応する2以上の動作情報を前記記録媒体から取得する取得サブステップと、
    前記取得サブステップで取得された2以上の動作情報を結合し、1つの動作情報を取得する結合サブステップとを具備し、
    前記動作ステップは、
    前記結合サブステップで取得された1つの動作情報に従い動作を行う演算処理方法。
JP2013001045A 2013-01-08 2013-01-08 プログラマブル回路、演算処理方法 Expired - Fee Related JP6085481B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013001045A JP6085481B2 (ja) 2013-01-08 2013-01-08 プログラマブル回路、演算処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013001045A JP6085481B2 (ja) 2013-01-08 2013-01-08 プログラマブル回路、演算処理方法

Publications (2)

Publication Number Publication Date
JP2014134851A JP2014134851A (ja) 2014-07-24
JP6085481B2 true JP6085481B2 (ja) 2017-02-22

Family

ID=51413086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013001045A Expired - Fee Related JP6085481B2 (ja) 2013-01-08 2013-01-08 プログラマブル回路、演算処理方法

Country Status (1)

Country Link
JP (1) JP6085481B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6280833B2 (ja) * 2014-08-01 2018-02-14 ヤマハ発動機株式会社 制御パラメータ設定方法、制御装置及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274126A (ja) * 1992-03-26 1993-10-22 Shimadzu Corp プログラム合成システム
JPH11214520A (ja) * 1998-01-22 1999-08-06 Advantest Corp 半導体集積回路

Also Published As

Publication number Publication date
JP2014134851A (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
CN107609004B (zh) 应用程序埋点方法和装置、计算机设备和存储介质
US8296723B2 (en) Configurable unified modeling language building blocks
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
US20170075665A1 (en) Program information generation system, method, and computer program
US10235158B2 (en) Optimizing feature deployment based on usage pattern
JP2020173650A (ja) プログラム運用システム、プログラム運用方法
JP6085481B2 (ja) プログラマブル回路、演算処理方法
US20140310248A1 (en) Verification support program, verification support apparatus, and verification support method
WO2020230043A1 (en) Feature vector feasibilty estimation
US20120317526A1 (en) Verification method, computer-readable recording medium, and design verification apparatus
JP6721548B2 (ja) 設計確認装置及び設計確認方法
JP6173644B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2016018269A (ja) 情報処理装置、情報処理方法及びプログラム
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP6364332B2 (ja) 仕様生成方法、仕様生成装置、及びプログラム
JP6239438B2 (ja) 仕様抽出装置、仕様抽出方法およびプログラム
JP7038577B2 (ja) プログラム分析装置及びプログラム分析方法
JP6818568B2 (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
EP3207431A1 (en) Machine tool post configurator systems and methods
KR101673151B1 (ko) 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치
JP2015022356A (ja) テストシナリオバリエーション生成装置及び方法及びプログラム
US20120192011A1 (en) Data processing apparatus that performs test validation and computer-readable storage medium
JPWO2015029242A1 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
US11816424B2 (en) Conditional save of draft enabled business objects
JP5619930B2 (ja) 対話スクリプト操作命令実行装置、対話スクリプト操作命令実行方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160822

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: 20170105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170130

R150 Certificate of patent or registration of utility model

Ref document number: 6085481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees