(57)【特許請求の範囲】
【請求項１】
リコンフィギャラブルデバイス（３）を搭載するマイクロコンピュータ（１）であって、
前記リコンフィギャラブルデバイスは、
前記リコンフィギャラブルデバイスに対して処理要求を発行する複数の要求元のうちの１つの前記要求元を第１要求元とし、複数の前記要求元のうち前記第１要求元とは異なる１つの前記要求元を第２要求元として、前記第１要求元から発行される第１処理要求に対応した処理を実行することが可能に構成された第１処理実行部（２１）と、前記第２要求元から発行される第２処理要求に対応した処理を実行することが可能に構成された第２処理実行部（２２）とを搭載し、
当該マイクロコンピュータは、
一定周期毎に繰り返される予め設定された調停単位期間内において前記第１処理要求に対応した処理を前記第１処理実行部が実行する回数の上限を示す情報である第１上限情報と、前記調停単位期間内において前記第２処理要求に対応した処理を前記第２処理実行部が実行する回数の上限を示す情報である第２上限情報とに基づいて、前記第１処理要求に対応した処理を前記第１処理実行部に実行させるか否かを決定するとともに、前記第２処理要求に対応した処理を前記第２処理実行部に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路（４）を備える
ことを特徴とするマイクロコンピュータ。
【請求項２】
前記調停回路は、
前記調停単位期間内に前記第１処理要求に対応した処理を前記第１処理実行部に実行させると決定した回数である第１処理決定数と、前記調停単位期間内に前記第２処理要求に対応した処理を前記第２処理実行部に実行させると決定した回数である第２処理決定数とを計数する計数手段（Ｓ６０，Ｓ１２０，Ｓ１９０，Ｓ２１０，Ｓ２２０）と、
前記第１上限情報が示す回数を前記第１処理決定数が超えないようにするとともに、前記第２上限情報が示す回数を前記第２処理決定数が超えないようにすることにより、前記第１処理要求に対応した処理を前記第１処理実行部に実行させるか否かを決定するとともに、前記第２処理要求に対応した処理を前記第２処理実行部に実行させるか否かを決定する実行決定手段（Ｓ３０，Ｓ４０，Ｓ１００，Ｓ１５０〜Ｓ１７０）と、
前記調停単位期間内に前記第１上限情報が示す数を超えた分の前記第１処理要求と、前記調停単位期間内に前記第２上限情報が示す数を超えた分の前記第２処理要求を少なくとも保留する保留手段（Ｓ９０）とを備え、
前記実行決定手段は、前記保留手段により、前記調停単位期間内に前記第１上限情報が示す数を超えた分の前記第１処理要求および前記調停単位期間内に前記第２上限情報が示す数を超えた分の前記第２処理要求の少なくとも一方が保留されている場合には、前記保留手段が該第１処理要求および該第２処理要求を保留した前記調停単位期間が経過した後に、前記第１上限情報および前記第２上限情報に基づいて、前記保留が行われた前記調停単位期間内に前記第１上限情報が示す数を超えた分の前記第１処理要求および前記保留が行われた前記調停単位期間内に前記第２上限情報が示す数を超えた分の前記第２処理要求について、その処理要求に対応した処理を実行させるか否かを決定する
ことを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記実行決定手段は、
前記保留手段により前記第１処理要求と前記第２処理要求の両方が保留されている場合に、前記第１処理要求および前記第２処理要求のそれぞれに予め設定された優先度、または前記保留手段により保留されたタイミングに基づいて、前記保留手段により保留された前記第１処理要求および前記第２処理要求のうち何れについて、その処理要求に対応した処理を先に実行させるかを決定する
ことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項４】
前記調停回路は、
前記第１要求元からの前記第１処理要求と前記第２要求元からの前記第２処理要求が同時に発行された場合には、前記第１処理要求および前記第２処理要求のそれぞれに予め設定された優先度に基づいて、前記第１処理要求と前記第２処理要求の何れを優先するかを決定する
ことを特徴とする請求項１〜請求項３の何れか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リコンフィギャラブルデバイスを搭載するマイクロコンピュータに関する。
【背景技術】
【０００２】
従来、車両に搭載される電子制御装置（以下、ＥＣＵという）の個数の増大に伴うＥＣＵ開発工数の増加に対応するために、複数のＥＣＵの機能を単一のマイクロコンピュータ（以下、マイコンという）に統合することによりＥＣＵ開発の効率化を図る手法が検討されている（例えば、非特許文献１を参照）。
【０００３】
そして近年、ＦＰＧＡに代表されるリコンフィギャラブルデバイスをマイコンに搭載することが可能になってきたことにより、複数のＥＣＵの機能を単一のマイコンに統合する技術の実現可能性が高まってきている。ＥＣＵの機能分野ごとに必要とされる特殊な機能を、マイコンに搭載されているリコンフィギャラブルデバイス内に形成することで、単一のマイコンで複数のＥＣＵの各機能に対応することができるからである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"２００７年度期末報告書"、第４頁、［online］、株式会社デンソー、［平成２５年７月２日検索］、インターネット＜URL: http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の特殊機能が複数形成されたリコンフィギャラブルデバイスをマイコンに搭載した場合において、複数の機能のうちの特定の機能に対する処理要求が頻繁に発行されることにより、特定の機能の処理が集中して実行されると、他の機能の処理が実行できなくなることが懸念される。
【０００６】
本発明は、こうした問題に鑑みてなされたものであり、或る処理要求が頻繁に発行されることにより、他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明は、リコンフィギャラブルデバイスを搭載するマイクロコンピュータである。
そして本発明のマイクロコンピュータでは、リコンフィギャラブルデバイスが、リコンフィギャラブルデバイスに対して処理要求を発行する複数の要求元のうちの１つの要求元を第１要求元とし、複数の要求元のうち第１要求元とは異なる１つの要求元を第２要求元として、第１要求元から発行される第１処理要求に対応した処理を実行することが可能に構成された第１処理実行部と、第２要求元から発行される第２処理要求に対応した処理を実行することが可能に構成された第２処理実行部とを搭載する。
【０００８】
また本発明のマイクロコンピュータは、一定周期毎に繰り返される予め設定された調停単位期間内において第１処理要求に対応した処理を第１処理実行部が実行する回数の上限を示す情報である第１上限情報と、調停単位期間内において第２処理要求に対応した処理を第２処理実行部が実行する回数の上限を示す情報である第２上限情報とに基づいて、第１処理要求に対応した処理を第１処理実行部に実行させるか否かを決定するとともに、第２処理要求に対応した処理を第２処理実行部に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路を備える。
【０００９】
このように構成された本発明のマイクロコンピュータは、調停単位期間内において第１処理要求に対応した処理を第１処理実行部が実行する回数を、第１上限情報が示す値以下に制限することができる。同様に本発明のマイクロコンピュータは、調停単位期間内において第２処理要求に対応した処理を第２処理実行部が実行する回数を、第２上限情報が示す値以下に制限することができる。
【００１０】
このため、第１処理要求が頻繁に発行されたとしても、第１上限情報が示す値を超える分は第１処理実行部により実行されず、第１処理実行部の処理が実行されなかった分を、第２処理要求に対応した処理に割り当てることができる。逆に、第２処理要求が頻繁に発行されたとしても、第２上限情報が示す値を超える分は第２処理実行部により実行されず、第２処理実行部の処理が実行されなかった分を、第１処理要求に対応した処理に割り当てることができる。
【００１１】
そして、第１処理実行部が実行する回数の制限と、第２処理実行部が実行する回数の制限は、調停単位期間毎に行われる。このため、調停単位期間が短くなるほど、第１処理要求が頻繁に発行された場合において第２処理要求に対応した処理が実行できなくなる期間を短くすることができる。調停単位期間内に第１上限情報が示す値を超える分の第１処理要求は第１処理実行部により実行されず、この調停単位期間内において、第２処理要求に対応した処理に割り当てることができるからである。同様に、調停単位期間が短くなるほど、第２処理要求が頻繁に発行された場合において第１処理要求に対応した処理が実行できなくなる期間を短くすることができる。
【００１２】
以上より、本発明のマイクロコンピュータは、或る処理要求が頻繁に発行されることにより他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】マイコン１の構成を示すブロック図である。
【図２】調停回路４の構成を示すブロック図である。
【図３】調停処理の手順を示すフローチャートである。
【図４】マイコン１の動作を示すタイミングチャートである。
【図５】１つのコアからの処理要求が集中していることを示すブロック図である。
【図６】最悪実行時間を説明する図である。
【図７】２つのコアから同時に処理要求が発行されていることを示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に本発明の実施形態について図面とともに説明する。
マイクロコンピュータ（以下、マイコンという）１は、図１に示すように、コア群２、リコンフィギャラブルデバイス３、調停回路４およびバス５を備える。
【００１５】
コア群２は、プログラムを実行するための演算ユニットおよびレジスタなどからなるマイコンコア（以下、単にコアという）１１，１２，１３を備える。
リコンフィギャラブルデバイス３は、ハードウェア構成および結線を自由に変更することができる集積回路デバイスである。本実施形態では、リコンフィギャラブルデバイス３は、例えばＦＰＧＡ（Field Programmable Gate Array）である。そしてリコンフィギャラブルデバイス３は、機能部２１，２２，２３およびデータ記憶部２４を備える。
【００１６】
機能部２１，２２，２３はそれぞれ、コア１１，１２，１３に対応した機能を有する回路で構成されている。データ記憶部２４は、調停回路４が処理を実行するときに利用するために予め設定された調停用データ（後述の受理上限値、優先度、リセット判定値）を記憶する。
【００１７】
調停回路４は、ハードウェアで構成されており、リコンフィギャラブルデバイス３とデータ入出力可能に接続されている。そして調停回路４は、コア１１，１２，１３からリコンフィギャラブルデバイス３への処理要求を調停する処理を実行する。
【００１８】
バス５は、コア１１，１２，１３と調停回路４とを互いにデータ通信可能に接続する。
調停回路４は、図２に示すように、要求受信部３１、調停用データ記憶部３２、計時部３３、受理数記憶部３４、要求判定部３５、保留部３６および処理結果送信部３７を備える。
【００１９】
要求受信部３１は、コア１１，１２，１３からリコンフィギャラブルデバイス３への処理要求をバス５を介して受信する。
調停用データ記憶部３２は、リコンフィギャラブルデバイス３のデータ記憶部２４から取得した上記調停用データを記憶する。
【００２０】
計時部３３は、例えば１ｍｓ毎に自動的にインクリメント（１加算）するタイマであり、ある時点でその値が０に設定されると、その時点で再び０からインクリメントする。
受理数記憶部３４は、調停回路４で受理された処理要求の数（以下、要求受理数という）をコア１１，１２，１３毎に記憶する。以下、コア１１、コア１２およびコア１３に対応する要求受理数をそれぞれ、第１要求受理数、第２要求受理数および第３要求受理数ともいう。
【００２１】
要求判定部３５は、調停用データ記憶部３２に記憶されている調停用データ、計時部３３の値、および受理数記憶部３４に記憶されている要求受理数などに基づいて、要求受信部３１が受信した処理要求を受理するか保留するかを判定し、受理した処理要求をリコンフィギャラブルデバイス３へ出力する。なお、要求判定部３５による判定の具体的手順は後述する（図３を参照）。
【００２２】
保留部３６は、要求判定部３５が保留した処理要求を一時的に格納する。
処理結果送信部３７は、リコンフィギャラブルデバイス３が出力した処理結果をバス５を介してコア１１，１２，１３へ送信する。
【００２３】
次に、調停回路４が実行する処理（以下、調停処理という）を説明する。
調停処理が実行されると、調停回路４は、図３に示すように、まずＳ１０にて、コア１１，１２，１３からの処理要求を受信したか否かを判断する。ここで、処理要求を受信した場合には（Ｓ１０：ＹＥＳ）、Ｓ２０にて、保留されている処理要求があるか否かを判断する。ここで、保留されている処理要求がない場合には（Ｓ２０：ＮＯ）、Ｓ３０にて、受信した処理要求は複数であるか否かを判断する。
【００２４】
ここで、受信した処理要求が１つである場合には（Ｓ３０：ＮＯ）、Ｓ４０にて、受信した処理要求の要求元となるコアに対応した要求受理数が、予め設定された受理上限値未満であるか否かを判断する。例えば、コア１１からの処理要求を受信した場合には、第１要求受理数がコア１１の受理上限値未満であるか否かを判断する。なお受理上限値は、上記調停用データにより、コア１１，１２，１３毎に設定されており、本実施形態では、コア１１，１２，１３の受理上限値はそれぞれ３，２，１である。
【００２５】
ここで、要求受理数が受理上限値未満である場合には（Ｓ４０：ＹＥＳ）、Ｓ５０にて、Ｓ１０で受信した処理要求をリコンフィギャラブルデバイス３へ出力し、さらにＳ６０にて、Ｓ５０で出力した処理要求の要求元となるコアに対応した要求受理数を１加算する。
【００２６】
その後Ｓ７０にて、Ｓ５０で出力した処理要求に対応する処理結果がリコンフィギャラブルデバイス３から入力したか否かを判断する。ここで、処理結果が入力していない場合には（Ｓ７０：ＮＯ）、Ｓ７０の処理を繰り返すことにより、処理結果が入力するまで待機する。一方、処理結果が入力した場合には（Ｓ７０：ＹＥＳ）、Ｓ８０にて、入力した処理結果を、バス５を介して、Ｓ５０で出力した処理要求の要求元となるコアへ送信し、Ｓ２１０に移行する。
【００２７】
またＳ４０にて、要求受理数が受理上限値以上である場合には（Ｓ４０：ＮＯ）、Ｓ９０にて、Ｓ１０で受信した処理要求を保留し、Ｓ２１０に移行する。なお、Ｓ９０で保留された処理要求は保留部３６に格納される。
【００２８】
またＳ３０にて、受信した処理要求が複数である場合には（Ｓ３０：ＹＥＳ）、Ｓ１００にて、予め設定された第１選択条件に基づいて、受信した複数の処理要求の中から１つの処理要求を選択する。本実施形態の第１選択条件は、「要求受理数が受理上限値未満であるコアのうち、優先度が最も高いコアを要求元とする処理要求」である。なお優先度は、上記調停用データにより、コア１１，１２，１３のそれぞれに設定されている。そして本実施形態では、コア１１，１２，１３の優先度はそれぞれ、１，２，３である。
【００２９】
例えば、コア１１，１２，１３からの処理要求を受信し、コア１１，１２，１３の要求受理数が全て受理上限値未満である場合には、優先度が最も高いコア１１からの処理要求が選択される。また、コア１１，１２，１３からの処理要求を受信し、コア１１の要求受理数が受理上限値以上であり且つコア１２，１３の要求受理数が受理上限値未満である場合には、要求受理数が受理上限値未満のコアの中で優先度が最も高いコア１２からの処理要求が選択される。
【００３０】
その後Ｓ１１０にて、Ｓ１００で選択した処理要求をリコンフィギャラブルデバイス３へ出力し、さらにＳ１２０にて、Ｓ１１０で出力した処理要求の要求元となるコアに対応した要求受理数を１加算する。そしてＳ１３０にて、Ｓ１０で受信した処理要求のうち、Ｓ１１０で出力した以外のものを保留し、Ｓ７０に移行する。なお、Ｓ１３０で保留された処理要求は保留部３６に格納される。
【００３１】
またＳ２０にて、保留されている処理要求がある場合には（Ｓ２０：ＹＥＳ）、Ｓ１４０にて、Ｓ１０で受信した処理要求を保留する。なお、Ｓ１４０で保留された処理要求は保留部３６に格納される。
【００３２】
その後Ｓ１５０にて、予め設定された第２選択条件に基づいて、保留されている処理要求の中から１つの処理要求を選択する。本実施形態の第２選択条件は、「要求受理数が受理上限値未満であるコアの処理要求のうち、保留部３６に格納されたタイミングが最も早い処理要求」である。その後Ｓ１６０にて、Ｓ１５０で選択した処理要求が複数であるか否かを判断する。
【００３３】
ここで、選択した処理要求が１つである場合には（Ｓ１６０：ＮＯ）、Ｓ１８０に移行する。一方、選択した処理要求が複数である場合には（Ｓ１６０：ＹＥＳ）、Ｓ１７０にて、予め設定された第３選択条件に基づいて、Ｓ１５０で選択した複数の処理要求の中から１つの処理要求を選択する。本実施形態の第３選択条件は、「Ｓ１５０で選択した処理要求のうち、優先度が最も高いコアを要求元とする処理要求」である。
【００３４】
そしてＳ１８０にて、Ｓ１５０またはＳ１７０で選択した１つの処理要求をリコンフィギャラブルデバイス３へ出力し、さらにＳ１９０にて、Ｓ１８０で出力した処理要求の要求元となるコアに対応した要求受理数を１加算し、Ｓ７０に移行する。
【００３５】
またＳ１０にて、処理要求を受信していない場合には（Ｓ１０：ＮＯ）、Ｓ２００にて、保留されている処理要求があるか否かを判断する。ここで、保留されている処理要求がない場合には（Ｓ２００：ＮＯ）、Ｓ２１０に移行する。一方、保留されている処理要求がある場合には（Ｓ２００：ＹＥＳ）、Ｓ１５０に移行して、上述の処理を繰り返す。
【００３６】
またＳ２１０に移行すると、計時部３３の計数値が、上記調停用データにより予め設定されたリセット判定値以上であるか否かを判断する。なおリセット判定値は、後述の調停単位期間に相当する（図４を参照）。ここで、計時部３３の計数値がリセット判定値未満である場合には（Ｓ２１０：ＮＯ）、Ｓ１０に移行して、上述の処理を繰り返す。一方、計時部３３の計数値がリセット判定値以上である場合には（Ｓ２１０：ＹＥＳ）、Ｓ２２０にて、コア１１，１２，１３の要求受理数をリセット（０に設定）するとともに、Ｓ２３０にて、計時部３３の計数値をリセット（０に設定）する。そして、調停処理を一旦終了し、Ｓ１０の処理から再開する。
【００３７】
次に、このように構成されたマイコン１の動作の具体例を説明する。
図４に示すように、調停単位期間内おいて、まずコア１１が処理要求を発行したとする（処理要求Ｒ１を参照）。このときのコア１１の要求受理数は０であり、コア１１の受理上限値（本実施形態では３）より小さいため、調停回路４は、コア１１からの処理要求を受理する（要求受理Ａ１を参照）。これにより、コア１１の要求受理数が１に設定される（要求受理数Ｎ１を参照）。
【００３８】
次に、コア１２が処理要求を発行したとする（処理要求Ｒ２を参照）。このときのコア１２の要求受理数が０であり、コア１２の受理上限値（本実施形態では２）より小さいため、調停回路４は、コア１２からの処理要求を受理する（要求受理Ａ２を参照）。これにより、コア１２の要求受理数が１に設定される（要求受理数Ｎ２を参照）。
【００３９】
次に、コア１３が処理要求を発行したとする（処理要求Ｒ３を参照）。このときのコア１３の要求受理数が０であり、コア１３の受理上限値（本実施形態では１）より小さいため、調停回路４は、コア１３からの処理要求を受理する（要求受理Ａ３を参照）。これにより、コア１３の要求受理数が１に設定される（要求受理数Ｎ３を参照）。
【００４０】
次に、コア１１とコア１２が同時に処理要求を発行したとする（処理要求Ｒ４，Ｒ５を参照）。この場合に、コア１１の優先度（本実施形態では１）はコア１２の優先度（本実施形態では２）より高いため、調停回路４は、コア１１からの処理要求を受理する（要求受理Ａ４を参照）とともに、コア１２からの処理要求を保留する（要求保留Ｈ５を参照）。これにより、コア１１の要求受理数が２に設定される（要求受理数Ｎ４を参照）。
【００４１】
そして、リコンフィギャラブルデバイス３の機能部２１がコア１１の処理要求に応じた処理の結果を出力した後に、調停回路４は、保留されていた処理要求を受理する（要求受理Ａ５を参照）。保留されていた処理要求はコア１２からの処理要求であるため、コア１２の要求受理数が２に設定される（要求受理数Ｎ５を参照）。
【００４２】
次に、コア１３が処理要求を発行したとする（処理要求Ｒ６を参照）。このときのコア１３の要求受理数が１であり、コア１３の受理上限値に等しいため、調停回路４は、コア１３からの処理要求を保留する（要求保留Ｈ６を参照）。
【００４３】
その後、コア１１が処理要求を発行したとする（処理要求Ｒ７を参照）。このときのコア１１の要求受理数は７であり、コア１１の受理上限値（本実施形態では３）より小さいため、調停回路４は、コア１１からの処理要求を受理する（要求受理Ａ７を参照）。これにより、コア１１の要求受理数が３に設定される（要求受理数Ｎ７を参照）。
【００４４】
そして、調停単位期間が経過すると、コア１１，１２，１３の要求受理数がリセットされ（リセットＲＳを参照）、次の調停単位期間を開始する。これにより、調停回路４は、保留されていた処理要求を受理する（要求受理Ａ６を参照）。そして、保留されていた処理要求はコア１３からの処理要求であるため、コア１３の要求受理数が１に設定される（要求受理数Ｎ６を参照）。
【００４５】
このように構成されたマイコン１では、リコンフィギャラブルデバイス３が、コア１１から発行される処理要求（以下、第１処理要求という）に対応した処理を実行することが可能に構成された機能部２１と、コア１２から発行される処理要求（以下、第２処理要求という）に対応した処理を実行することが可能に構成された機能部２２と、コア１３から発行される処理要求（以下、第３処理要求という）に対応した処理を実行することが可能に構成された機能部２３とを搭載する。
【００４６】
またマイコン１は、一定周期毎に繰り返される予め設定された調停単位期間内において第１処理要求に対応した処理を機能部２１が実行する回数の上限を示す受理上限値（以下、第１受理上限値という）と、調停単位期間内において第２処理要求に対応した処理を機能部２２が実行する回数の上限を示す受理上限値（以下、第２受理上限値という）と、調停単位期間内において第３処理要求に対応した処理を機能部２３が実行する回数の上限を示す受理上限値（以下、第３受理上限値という）とに基づいて、第１処理要求に対応した処理を機能部２１に実行させるか否か、第２処理要求に対応した処理を機能部２２に実行させるか否か、および第３処理要求に対応した処理を機能部２３に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路４を備える。
【００４７】
このようにマイコン１は、調停単位期間内において第１処理要求に対応した処理を機能部２１が実行する回数を、第１受理上限値以下に制限することができる。同様にマイコン１は、調停単位期間内において第２，３処理要求に対応した処理を機能部２２，２３が実行する回数を、第２，３受理上限値が示す値以下に制限することができる。
【００４８】
このため、図５に示すように、コア１２，１３からの第２，３処理要求（図５の矢印ＡＬ２，ＡＬ３を参照）よりもコア１１からの第１処理要求（図５の矢印ＡＬ１を参照）が多く発行されたとしても、第１受理上限値を超える分は機能部２１により実行されず、機能部２１の処理が実行されなかった分を、第２，３処理要求に対応した処理に割り当てることができる。また、第２処理要求が頻繁に発行されたとしても、第２受理上限値を超える分は機能部２２により実行されず、機能部２２の処理が実行されなかった分を、第１，３処理要求に対応した処理に割り当てることができる。
【００４９】
そして、機能部２１，２２，２３が実行する回数の制限は、調停単位期間毎に行われる。このため、調停単位期間が短くなるほど、第１処理要求が頻繁に発行された場合において第２，３処理要求に対応した処理が実行できなくなる期間を短くすることができる。調停単位期間内に第１受理上限値を超える分の第１処理要求は機能部２１により実行されず、この調停単位期間内において、第２，３処理要求に対応した処理に割り当てることができるからである。同様に、調停単位期間が短くなるほど、第２処理要求が頻繁に発行された場合において第１，３処理要求に対応した処理が実行できなくなる期間を短くすることができる。
【００５０】
以上より、マイコン１は、或る処理要求が頻繁に発行されることにより他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することができる。
そして調停回路４では、調停単位期間内に第１処理要求に対応した処理を機能部２１に実行させると決定した回数（第１要求受理数）と、調停単位期間内に第２処理要求に対応した処理を機能部２２に実行させると決定した回数（第２要求受理数）と、調停単位期間内に第３処理要求に対応した処理を機能部２３に実行させると決定した回数（第３要求受理数）とを計数する(Ｓ６０，Ｓ１２０，Ｓ１９０，Ｓ２１０，Ｓ２２０)。また調停回路４では、第１，２，３要求受理数が第１，２，３受理上限値を超えないようにすることにより、第１処理要求に対応した処理を機能部２１に実行させるか否か、第２処理要求に対応した処理を機能部２２に実行させるか否か、および第３処理要求に対応した処理を機能部２３に実行させるか否かを決定する(Ｓ３０，Ｓ４０，Ｓ１００，Ｓ１５０，Ｓ１７０)。また調停回路４では、調停単位期間内に第１，２，３受理上限値を超えた分の第１，２，３処理要求を保留する（Ｓ９０）。さらに調停回路４では、調停単位期間内に第１，２，３受理上限値を超えた分の第１，２，３処理要求が保留されている場合には、この第１，２，３処理要求を保留した調停単位期間が経過した後に、第１，２，３受理上限値に基づいて、保留されている第１，２，３処理要求を実行させるか否かを決定する（Ｓ１５０〜Ｓ１７０）。
【００５１】
このように、受理上限値を超えることにより保留された第１，２，３処理要求は、調停単位期間が経過した後に実行される。これにより、以下に説明するように、コア１１，１２，１３の最悪実行時間を容易に見積もることができる。
【００５２】
コア１１，１２，１３の最悪実行時間は、コア１１，１２，１３が処理要求を発行してから、この処理要求に対応する処理結果をリコンフィギャラブルデバイス３から調停回路４を介して受信するまでに要する時間の最大値である。具体的には図６に示すように、コア１１，１２，１３の最悪実行時間は、最悪通信時間と最悪調停時間と最悪ＩＯ処理時間との和である。最悪通信時間は、コア１１，１２，１３が調停回路４との間でデータ通信を行うのに要する時間の最大値である。最悪調停時間は、調停回路４がコア１１，１２，１３からの処理要求を調停するのに要する時間の最大値である。最悪ＩＯ処理時間は、調停回路４が処理要求を出力してから、リコンフィギャラブルデバイス３から処理結果を入力するまでに要する時間の最大値である。
【００５３】
そして最悪調停時間は、調停単位期間と、他のコアによる最悪ＩＯ処理時間との和である。例えば、コア１２の処理要求が調停単位期間内の初期に保留されて、調停単位期間の終了直前にコア１１の処理要求が受理された場合には、次の調停単位期間が開始されても、前回の調停単位期間で受理されたコア１１の処理要求に対応した処理が完了するまでは、前回の調停単位期間内で保留されたコア１２の処理要求に対応する処理を実行することができない。このため、コア１２の最悪調停時間を、例えば、調停単位期間とコア１１の最悪ＩＯ処理時間との和とすることができる。
【００５４】
このように、コア１１，１２，１３の最悪調停時間を、調停単位期間と、他のコアによる最悪ＩＯ処理時間との和とすることができるため、コア１１，１２，１３の最悪実行時間を容易に見積もることができる。
【００５５】
また調停回路４では、第１処理要求、第２処理要求および第３処理要求の少なくとも２つが保留されている場合に、保留されたタイミングに基づいて、保留されたタイミングが早い順に、保留された第１，２，３処理要求のうち何れを先に実行させるかを決定する（Ｓ１５０）。これにより、保留された処理要求について、処理要求が発行された順にリコンフィギャラブルデバイス３に処理を行わせることができる。
【００５６】
また調停回路４では、第１処理要求、第２処理要求および第３処理要求の少なくとも２つが同時に発行された場合には、第１，２，３処理要求に予め設定された優先度に基づいて、第１，２，３処理要求の何れを優先するかを決定する（Ｓ１００）。これにより、リコンフィギャラブルデバイス３に、優先度の高い処理を優先して実行させることができる。例えば図７に示すように、コア１１からの第１処理要求（図７の矢印ＡＬ１１を参照）とコア１２からの第２処理要求（図７の矢印ＡＬ１２を参照）が同時に発行された場合には、リコンフィギャラブルデバイス３は、第１処理要求に対応する処理を、第２処理要求に対応する処理に優先して実行する。
【００５７】
以上説明した実施形態において、コア１１は本発明における第１要求元、コア１２は本発明における第２要求元、機能部２１は本発明における第１処理実行部、機能部２２は本発明における第２処理実行部、第１受理上限値は本発明における第１上限情報、第２受理上限値は本発明における第２上限情報である。
【００５８】
また、Ｓ６０，Ｓ１２０，Ｓ１９０，Ｓ２１０，Ｓ２２０の処理は本発明における計数手段、Ｓ３０，Ｓ４０，Ｓ１００，Ｓ１５０〜Ｓ１７０の処理は本発明における実行決定手段、Ｓ９０の処理は本発明における保留手段、第１要求受理数は本発明における第１処理決定数、第２要求受理数は本発明における第２処理決定数である。
【００５９】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、リコンフィギャラブルデバイス３がＦＰＧＡであるものを示したが、これに限定されるものではなく、例えばリコンフィギャラブルデバイス３がＣＰＬＤ（Complex Programmable Logic Device）であってもよい。
【００６０】
また上記実施形態では、第２選択条件が処理要求の発行順であり第３選択条件が優先度であるものを示したが、第２選択条件が優先度であり第３選択条件が処理要求の発行順であるようにしてもよい。
【００６１】
また上記実施形態では、リコンフィギャラブルデバイス３のデータ記憶部２４に調停用データを記憶するものを示したが、調停用データの記憶はリコンフィギャラブルデバイス３に限定されるものではなく、例えば、マイコン１に搭載されているレジスタまたはメモリに調停用データを記憶するようにしてもよい。
【００６２】
また上記実施形態では、データ記憶部２４に記憶されている調停用データにより、処理要求の優先度を設定するものを示したが、調停回路４において処理要求の優先度が予め設定されているようにしてもよい。例えば、コア１１，１２，１３からの処理要求の優先度がそれぞれ１，２，３であるように調停回路４で予め設定されているようにしてもよい。つまり、調停回路４に設定されている優先度に基づいて、コア１１，１２，１３で実行される処理を決定するようにしてもよい。
【符号の説明】
【００６３】
１…マイコン、３…リコンフィギャラブルデバイス、４…調停回路、１１，１２，１３…コア、２１，２２，２３…機能部
【図１】
0005884788.tif 000002
【図２】
0005884788.tif 000003
【図３】
0005884788.tif 000004
【図４】
0005884788.tif 000005
【図５】
0005884788.tif 000006
【図６】
0005884788.tif 000007
【図７】
0005884788.tif 000008