JP5884788B2 - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP5884788B2
JP5884788B2 JP2013165153A JP2013165153A JP5884788B2 JP 5884788 B2 JP5884788 B2 JP 5884788B2 JP 2013165153 A JP2013165153 A JP 2013165153A JP 2013165153 A JP2013165153 A JP 2013165153A JP 5884788 B2 JP5884788 B2 JP 5884788B2
Authority
JP
Japan
Prior art keywords
request
processing
upper limit
processing request
arbitration
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.)
Active
Application number
JP2013165153A
Other languages
Japanese (ja)
Other versions
JP2015035069A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2013165153A priority Critical patent/JP5884788B2/en
Priority to DE102014215561.4A priority patent/DE102014215561A1/en
Publication of JP2015035069A publication Critical patent/JP2015035069A/en
Application granted granted Critical
Publication of JP5884788B2 publication Critical patent/JP5884788B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Description

本発明は、リコンフィギャラブルデバイスを搭載するマイクロコンピュータに関する。   The present invention relates to a microcomputer equipped with a reconfigurable device.

従来、車両に搭載される電子制御装置(以下、ECUという)の個数の増大に伴うECU開発工数の増加に対応するために、複数のECUの機能を単一のマイクロコンピュータ(以下、マイコンという)に統合することによりECU開発の効率化を図る手法が検討されている(例えば、非特許文献1を参照)。   Conventionally, in order to cope with an increase in the number of ECU development steps accompanying an increase in the number of electronic control units (hereinafter referred to as ECUs) mounted on a vehicle, a plurality of ECU functions are referred to as a single microcomputer (hereinafter referred to as a microcomputer). A method for improving the efficiency of ECU development by integrating the system into the system has been studied (see, for example, Non-Patent Document 1).

そして近年、FPGAに代表されるリコンフィギャラブルデバイスをマイコンに搭載することが可能になってきたことにより、複数のECUの機能を単一のマイコンに統合する技術の実現可能性が高まってきている。ECUの機能分野ごとに必要とされる特殊な機能を、マイコンに搭載されているリコンフィギャラブルデバイス内に形成することで、単一のマイコンで複数のECUの各機能に対応することができるからである。   In recent years, it has become possible to mount a reconfigurable device typified by an FPGA in a microcomputer, thereby increasing the feasibility of a technology that integrates the functions of a plurality of ECUs into a single microcomputer. . Because special functions required for each functional field of the ECU are formed in the reconfigurable device installed in the microcomputer, each function of multiple ECUs can be handled with a single microcomputer. It is.

"2007年度期末報告書"、第4頁、[online]、株式会社デンソー、[平成25年7月2日検索]、インターネット<URL: http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf>"Fiscal Year 2007 Report", page 4, [online], DENSO Corporation, [Search July 2, 2013], Internet <URL: http://www.denso.co.jp/en/investors /financial/report/files/business2008#3.pdf>

しかし、上記の特殊機能が複数形成されたリコンフィギャラブルデバイスをマイコンに搭載した場合において、複数の機能のうちの特定の機能に対する処理要求が頻繁に発行されることにより、特定の機能の処理が集中して実行されると、他の機能の処理が実行できなくなることが懸念される。   However, when a reconfigurable device in which a plurality of special functions are formed is installed in a microcomputer, processing requests for a specific function among a plurality of functions are frequently issued, so that processing of a specific function can be performed. If executed centrally, there is a concern that processing of other functions cannot be executed.

本発明は、こうした問題に鑑みてなされたものであり、或る処理要求が頻繁に発行されることにより、他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することを目的とする。   The present invention has been made in view of these problems, and an object of the present invention is to suppress the occurrence of a situation in which a process corresponding to another process request cannot be executed when a certain process request is issued frequently. And

上記目的を達成するためになされた本発明は、リコンフィギャラブルデバイスを搭載するマイクロコンピュータである。
そして本発明のマイクロコンピュータでは、リコンフィギャラブルデバイスが、リコンフィギャラブルデバイスに対して処理要求を発行する複数の要求元のうちの1つの要求元を第1要求元とし、複数の要求元のうち第1要求元とは異なる1つの要求元を第2要求元として、第1要求元から発行される第1処理要求に対応した処理を実行することが可能に構成された第1処理実行部と、第2要求元から発行される第2処理要求に対応した処理を実行することが可能に構成された第2処理実行部とを搭載する。
The present invention made to achieve the above object is a microcomputer equipped with a reconfigurable device.
In the microcomputer of the present invention, the reconfigurable device has one request source as a first request source among a plurality of request sources that issue processing requests to the reconfigurable device, A first process execution unit configured to execute a process corresponding to a first process request issued from the first request source, with one request source different from the first request source as a second request source; And a second process execution unit configured to execute a process corresponding to the second process request issued from the second request source.

また本発明のマイクロコンピュータは、一定周期毎に繰り返される予め設定された調停単位期間内において第1処理要求に対応した処理を第1処理実行部が実行する回数の上限を示す情報である第1上限情報と、調停単位期間内において第2処理要求に対応した処理を第2処理実行部が実行する回数の上限を示す情報である第2上限情報とに基づいて、第1処理要求に対応した処理を第1処理実行部に実行させるか否かを決定するとともに、第2処理要求に対応した処理を第2処理実行部に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路を備える。   The microcomputer of the present invention is information indicating the upper limit of the number of times that the first process execution unit executes the process corresponding to the first process request within a preset arbitration unit period that is repeated at regular intervals. Based on the upper limit information and the second upper limit information, which is information indicating the upper limit of the number of times the second process execution unit executes the process corresponding to the second process request within the arbitration unit period, the first process request is supported. The arbitration function is determined by hardware so as to determine whether or not to cause the first process execution unit to execute the process and whether or not to cause the second process execution unit to execute the process corresponding to the second process request. Arbitration circuit is provided.

このように構成された本発明のマイクロコンピュータは、調停単位期間内において第1処理要求に対応した処理を第1処理実行部が実行する回数を、第1上限情報が示す値以下に制限することができる。同様に本発明のマイクロコンピュータは、調停単位期間内において第2処理要求に対応した処理を第2処理実行部が実行する回数を、第2上限情報が示す値以下に制限することができる。   The microcomputer of the present invention configured as described above limits the number of times the first process execution unit executes the process corresponding to the first process request within the arbitration unit period to a value equal to or less than the value indicated by the first upper limit information. Can do. Similarly, the microcomputer of the present invention can limit the number of times the second process execution unit executes the process corresponding to the second process request within the arbitration unit period to a value equal to or less than the value indicated by the second upper limit information.

このため、第1処理要求が頻繁に発行されたとしても、第1上限情報が示す値を超える分は第1処理実行部により実行されず、第1処理実行部の処理が実行されなかった分を、第2処理要求に対応した処理に割り当てることができる。逆に、第2処理要求が頻繁に発行されたとしても、第2上限情報が示す値を超える分は第2処理実行部により実行されず、第2処理実行部の処理が実行されなかった分を、第1処理要求に対応した処理に割り当てることができる。   For this reason, even if the first processing request is frequently issued, the portion exceeding the value indicated by the first upper limit information is not executed by the first processing execution unit, and the processing of the first processing execution unit is not executed. Can be assigned to the process corresponding to the second process request. Conversely, even if the second processing request is frequently issued, the portion exceeding the value indicated by the second upper limit information is not executed by the second processing execution unit, and the processing of the second processing execution unit is not executed. Can be assigned to the process corresponding to the first process request.

そして、第1処理実行部が実行する回数の制限と、第2処理実行部が実行する回数の制限は、調停単位期間毎に行われる。このため、調停単位期間が短くなるほど、第1処理要求が頻繁に発行された場合において第2処理要求に対応した処理が実行できなくなる期間を短くすることができる。調停単位期間内に第1上限情報が示す値を超える分の第1処理要求は第1処理実行部により実行されず、この調停単位期間内において、第2処理要求に対応した処理に割り当てることができるからである。同様に、調停単位期間が短くなるほど、第2処理要求が頻繁に発行された場合において第1処理要求に対応した処理が実行できなくなる期間を短くすることができる。   The restriction on the number of times the first process execution unit executes and the restriction on the number of times the second process execution unit executes are performed for each arbitration unit period. For this reason, the shorter the arbitration unit period, the shorter the period during which the processing corresponding to the second processing request cannot be executed when the first processing request is issued frequently. The first process request that exceeds the value indicated by the first upper limit information within the arbitration unit period is not executed by the first process execution unit, and can be assigned to the process corresponding to the second process request within the arbitration unit period. Because it can. Similarly, the shorter the arbitration unit period, the shorter the period during which processing corresponding to the first processing request cannot be executed when the second processing request is issued frequently.

以上より、本発明のマイクロコンピュータは、或る処理要求が頻繁に発行されることにより他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することができる。   As described above, the microcomputer of the present invention can suppress the occurrence of a situation in which a processing request corresponding to another processing request cannot be executed when a certain processing request is frequently issued.

マイコン1の構成を示すブロック図である。2 is a block diagram showing a configuration of a microcomputer 1. FIG. 調停回路4の構成を示すブロック図である。3 is a block diagram illustrating a configuration of an arbitration circuit 4. FIG. 調停処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of an arbitration process. マイコン1の動作を示すタイミングチャートである。3 is a timing chart showing the operation of the microcomputer 1. 1つのコアからの処理要求が集中していることを示すブロック図である。It is a block diagram which shows that the processing request from one core is concentrated. 最悪実行時間を説明する図である。It is a figure explaining the worst execution time. 2つのコアから同時に処理要求が発行されていることを示すブロック図である。It is a block diagram which shows that the processing request is issued simultaneously from two cores.

以下に本発明の実施形態について図面とともに説明する。
マイクロコンピュータ(以下、マイコンという)1は、図1に示すように、コア群2、リコンフィギャラブルデバイス3、調停回路4およびバス5を備える。
Embodiments of the present invention will be described below with reference to the drawings.
As shown in FIG. 1, the microcomputer (hereinafter referred to as a microcomputer) 1 includes a core group 2, a reconfigurable device 3, an arbitration circuit 4, and a bus 5.

コア群2は、プログラムを実行するための演算ユニットおよびレジスタなどからなるマイコンコア(以下、単にコアという)11,12,13を備える。
リコンフィギャラブルデバイス3は、ハードウェア構成および結線を自由に変更することができる集積回路デバイスである。本実施形態では、リコンフィギャラブルデバイス3は、例えばFPGA(Field Programmable Gate Array)である。そしてリコンフィギャラブルデバイス3は、機能部21,22,23およびデータ記憶部24を備える。
The core group 2 includes microcomputer cores (hereinafter simply referred to as cores) 11, 12, and 13 including an arithmetic unit and a register for executing a program.
The reconfigurable device 3 is an integrated circuit device that can freely change the hardware configuration and connection. In the present embodiment, the reconfigurable device 3 is, for example, an FPGA (Field Programmable Gate Array). The reconfigurable device 3 includes function units 21, 22 and 23 and a data storage unit 24.

機能部21,22,23はそれぞれ、コア11,12,13に対応した機能を有する回路で構成されている。データ記憶部24は、調停回路4が処理を実行するときに利用するために予め設定された調停用データ(後述の受理上限値、優先度、リセット判定値)を記憶する。   The functional units 21, 22, and 23 are configured by circuits having functions corresponding to the cores 11, 12, and 13, respectively. The data storage unit 24 stores arbitration data (accepting upper limit value, priority, reset determination value described later) set in advance for use when the arbitration circuit 4 executes processing.

調停回路4は、ハードウェアで構成されており、リコンフィギャラブルデバイス3とデータ入出力可能に接続されている。そして調停回路4は、コア11,12,13からリコンフィギャラブルデバイス3への処理要求を調停する処理を実行する。   The arbitration circuit 4 is configured by hardware and is connected to the reconfigurable device 3 so as to be able to input and output data. The arbitration circuit 4 executes processing for arbitrating processing requests from the cores 11, 12, and 13 to the reconfigurable device 3.

バス5は、コア11,12,13と調停回路4とを互いにデータ通信可能に接続する。
調停回路4は、図2に示すように、要求受信部31、調停用データ記憶部32、計時部33、受理数記憶部34、要求判定部35、保留部36および処理結果送信部37を備える。
The bus 5 connects the cores 11, 12, and 13 and the arbitration circuit 4 to each other so that data communication is possible.
As illustrated in FIG. 2, the arbitration circuit 4 includes a request reception unit 31, an arbitration data storage unit 32, a timing unit 33, an accepted number storage unit 34, a request determination unit 35, a holding unit 36, and a processing result transmission unit 37. .

要求受信部31は、コア11,12,13からリコンフィギャラブルデバイス3への処理要求をバス5を介して受信する。
調停用データ記憶部32は、リコンフィギャラブルデバイス3のデータ記憶部24から取得した上記調停用データを記憶する。
The request receiving unit 31 receives a processing request from the cores 11, 12, and 13 to the reconfigurable device 3 via the bus 5.
The arbitration data storage unit 32 stores the arbitration data acquired from the data storage unit 24 of the reconfigurable device 3.

計時部33は、例えば1ms毎に自動的にインクリメント(1加算)するタイマであり、ある時点でその値が0に設定されると、その時点で再び0からインクリメントする。
受理数記憶部34は、調停回路4で受理された処理要求の数(以下、要求受理数という)をコア11,12,13毎に記憶する。以下、コア11、コア12およびコア13に対応する要求受理数をそれぞれ、第1要求受理数、第2要求受理数および第3要求受理数ともいう。
The timer 33 is a timer that automatically increments (adds 1) every 1 ms, for example. When the value is set to 0 at a certain point, the timer 33 increments from 0 again at that point.
The acceptance number storage unit 34 stores the number of processing requests accepted by the arbitration circuit 4 (hereinafter referred to as the request acceptance number) for each of the cores 11, 12, and 13. Hereinafter, the request acceptance numbers corresponding to the core 11, the core 12, and the core 13 are also referred to as a first request acceptance number, a second request acceptance number, and a third request acceptance number, respectively.

要求判定部35は、調停用データ記憶部32に記憶されている調停用データ、計時部33の値、および受理数記憶部34に記憶されている要求受理数などに基づいて、要求受信部31が受信した処理要求を受理するか保留するかを判定し、受理した処理要求をリコンフィギャラブルデバイス3へ出力する。なお、要求判定部35による判定の具体的手順は後述する(図3を参照)。   The request determination unit 35 is based on the arbitration data stored in the arbitration data storage unit 32, the value of the timing unit 33, the request acceptance number stored in the acceptance number storage unit 34, and the like. Determines whether to accept or hold the received processing request, and outputs the accepted processing request to the reconfigurable device 3. A specific procedure for determination by the request determination unit 35 will be described later (see FIG. 3).

保留部36は、要求判定部35が保留した処理要求を一時的に格納する。
処理結果送信部37は、リコンフィギャラブルデバイス3が出力した処理結果をバス5を介してコア11,12,13へ送信する。
The holding unit 36 temporarily stores the processing request held by the request determination unit 35.
The processing result transmission unit 37 transmits the processing result output from the reconfigurable device 3 to the cores 11, 12, and 13 via the bus 5.

次に、調停回路4が実行する処理(以下、調停処理という)を説明する。
調停処理が実行されると、調停回路4は、図3に示すように、まずS10にて、コア11,12,13からの処理要求を受信したか否かを判断する。ここで、処理要求を受信した場合には(S10:YES)、S20にて、保留されている処理要求があるか否かを判断する。ここで、保留されている処理要求がない場合には(S20:NO)、S30にて、受信した処理要求は複数であるか否かを判断する。
Next, processing executed by the arbitration circuit 4 (hereinafter referred to as arbitration processing) will be described.
When the arbitration process is executed, the arbitration circuit 4 first determines whether or not a processing request from the cores 11, 12, and 13 has been received in S10, as shown in FIG. If a processing request is received (S10: YES), it is determined in S20 whether there is a pending processing request. If there is no pending processing request (S20: NO), it is determined in S30 whether there are a plurality of received processing requests.

ここで、受信した処理要求が1つである場合には(S30:NO)、S40にて、受信した処理要求の要求元となるコアに対応した要求受理数が、予め設定された受理上限値未満であるか否かを判断する。例えば、コア11からの処理要求を受信した場合には、第1要求受理数がコア11の受理上限値未満であるか否かを判断する。なお受理上限値は、上記調停用データにより、コア11,12,13毎に設定されており、本実施形態では、コア11,12,13の受理上限値はそれぞれ3,2,1である。   Here, when the number of received processing requests is one (S30: NO), in S40, the request acceptance number corresponding to the core that is the request source of the received processing request is a preset acceptance upper limit value. It is judged whether it is less than. For example, when a processing request from the core 11 is received, it is determined whether or not the first request acceptance number is less than the acceptance upper limit value of the core 11. The acceptance upper limit value is set for each of the cores 11, 12, and 13 by the arbitration data. In this embodiment, the acceptance upper limit values of the cores 11, 12, and 13 are 3, 2, and 1, respectively.

ここで、要求受理数が受理上限値未満である場合には(S40:YES)、S50にて、S10で受信した処理要求をリコンフィギャラブルデバイス3へ出力し、さらにS60にて、S50で出力した処理要求の要求元となるコアに対応した要求受理数を1加算する。   If the request acceptance number is less than the acceptance upper limit value (S40: YES), the processing request received in S10 is output to the reconfigurable device 3 in S50, and further output in S50 in S60. 1 is added to the request acceptance number corresponding to the core that is the request source of the processed request.

その後S70にて、S50で出力した処理要求に対応する処理結果がリコンフィギャラブルデバイス3から入力したか否かを判断する。ここで、処理結果が入力していない場合には(S70:NO)、S70の処理を繰り返すことにより、処理結果が入力するまで待機する。一方、処理結果が入力した場合には(S70:YES)、S80にて、入力した処理結果を、バス5を介して、S50で出力した処理要求の要求元となるコアへ送信し、S210に移行する。   Thereafter, in S70, it is determined whether or not the processing result corresponding to the processing request output in S50 is input from the reconfigurable device 3. Here, when the processing result has not been input (S70: NO), the processing of S70 is repeated to wait until the processing result is input. On the other hand, when the processing result is input (S70: YES), in S80, the input processing result is transmitted to the core that is the request source of the processing request output in S50 via the bus 5, and the processing proceeds to S210. Transition.

またS40にて、要求受理数が受理上限値以上である場合には(S40:NO)、S90にて、S10で受信した処理要求を保留し、S210に移行する。なお、S90で保留された処理要求は保留部36に格納される。   If the request acceptance number is equal to or greater than the acceptance upper limit value at S40 (S40: NO), the processing request received at S10 is suspended at S90, and the process proceeds to S210. Note that the processing request held in S90 is stored in the holding unit 36.

またS30にて、受信した処理要求が複数である場合には(S30:YES)、S100にて、予め設定された第1選択条件に基づいて、受信した複数の処理要求の中から1つの処理要求を選択する。本実施形態の第1選択条件は、「要求受理数が受理上限値未満であるコアのうち、優先度が最も高いコアを要求元とする処理要求」である。なお優先度は、上記調停用データにより、コア11,12,13のそれぞれに設定されている。そして本実施形態では、コア11,12,13の優先度はそれぞれ、1,2,3である。   If there are a plurality of processing requests received at S30 (S30: YES), one processing is selected from the plurality of processing requests received at S100 based on the first selection condition set in advance. Select a request. The first selection condition of the present embodiment is “a processing request whose request source is a core having the highest priority among cores whose request acceptance number is less than the acceptance upper limit value”. The priority is set for each of the cores 11, 12, and 13 by the arbitration data. In the present embodiment, the priorities of the cores 11, 12, and 13 are 1, 2, and 3, respectively.

例えば、コア11,12,13からの処理要求を受信し、コア11,12,13の要求受理数が全て受理上限値未満である場合には、優先度が最も高いコア11からの処理要求が選択される。また、コア11,12,13からの処理要求を受信し、コア11の要求受理数が受理上限値以上であり且つコア12,13の要求受理数が受理上限値未満である場合には、要求受理数が受理上限値未満のコアの中で優先度が最も高いコア12からの処理要求が選択される。   For example, when processing requests from the cores 11, 12, and 13 are received and the number of requests accepted by the cores 11, 12, and 13 is less than the upper limit of acceptance, the processing request from the core 11 having the highest priority is received. Selected. Further, when a processing request is received from the cores 11, 12, and 13, and the number of requests accepted by the core 11 is equal to or greater than the upper limit of acceptance and the number of requests accepted of the cores 12 and 13 is less than the upper limit of acceptance, the request A processing request from the core 12 having the highest priority among the cores whose acceptance numbers are less than the acceptance upper limit value is selected.

その後S110にて、S100で選択した処理要求をリコンフィギャラブルデバイス3へ出力し、さらにS120にて、S110で出力した処理要求の要求元となるコアに対応した要求受理数を1加算する。そしてS130にて、S10で受信した処理要求のうち、S110で出力した以外のものを保留し、S70に移行する。なお、S130で保留された処理要求は保留部36に格納される。   Thereafter, in S110, the processing request selected in S100 is output to the reconfigurable device 3, and in S120, the request acceptance number corresponding to the core that is the request source of the processing request output in S110 is incremented by one. In S130, the processing requests received in S10 other than those output in S110 are suspended, and the process proceeds to S70. Note that the processing request held in S130 is stored in the holding unit 36.

またS20にて、保留されている処理要求がある場合には(S20:YES)、S140にて、S10で受信した処理要求を保留する。なお、S140で保留された処理要求は保留部36に格納される。   If there is a pending processing request at S20 (S20: YES), the processing request received at S10 is suspended at S140. Note that the processing request held in S140 is stored in the holding unit 36.

その後S150にて、予め設定された第2選択条件に基づいて、保留されている処理要求の中から1つの処理要求を選択する。本実施形態の第2選択条件は、「要求受理数が受理上限値未満であるコアの処理要求のうち、保留部36に格納されたタイミングが最も早い処理要求」である。その後S160にて、S150で選択した処理要求が複数であるか否かを判断する。   Thereafter, in S150, one processing request is selected from among the pending processing requests based on the preset second selection condition. The second selection condition of the present embodiment is “the processing request with the earliest timing stored in the holding unit 36 among the core processing requests whose request acceptance number is less than the acceptance upper limit value”. Thereafter, in S160, it is determined whether there are a plurality of processing requests selected in S150.

ここで、選択した処理要求が1つである場合には(S160:NO)、S180に移行する。一方、選択した処理要求が複数である場合には(S160:YES)、S170にて、予め設定された第3選択条件に基づいて、S150で選択した複数の処理要求の中から1つの処理要求を選択する。本実施形態の第3選択条件は、「S150で選択した処理要求のうち、優先度が最も高いコアを要求元とする処理要求」である。   If there is one selected processing request (S160: NO), the process proceeds to S180. On the other hand, if there are a plurality of selected processing requests (S160: YES), one processing request is selected from the plurality of processing requests selected in S150 based on the third selection condition set in advance in S170. Select. The third selection condition of the present embodiment is “a processing request whose request source is a core having the highest priority among the processing requests selected in S150”.

そしてS180にて、S150またはS170で選択した1つの処理要求をリコンフィギャラブルデバイス3へ出力し、さらにS190にて、S180で出力した処理要求の要求元となるコアに対応した要求受理数を1加算し、S70に移行する。   In S180, one processing request selected in S150 or S170 is output to the reconfigurable device 3, and in S190, the request acceptance number corresponding to the core that is the request source of the processing request output in S180 is set to 1. Add, and proceed to S70.

またS10にて、処理要求を受信していない場合には(S10:NO)、S200にて、保留されている処理要求があるか否かを判断する。ここで、保留されている処理要求がない場合には(S200:NO)、S210に移行する。一方、保留されている処理要求がある場合には(S200:YES)、S150に移行して、上述の処理を繰り返す。   If no processing request is received at S10 (S10: NO), it is determined at S200 whether there is a pending processing request. If there is no pending processing request (S200: NO), the process proceeds to S210. On the other hand, when there is a pending process request (S200: YES), the process proceeds to S150 and the above process is repeated.

またS210に移行すると、計時部33の計数値が、上記調停用データにより予め設定されたリセット判定値以上であるか否かを判断する。なおリセット判定値は、後述の調停単位期間に相当する(図4を参照)。ここで、計時部33の計数値がリセット判定値未満である場合には(S210:NO)、S10に移行して、上述の処理を繰り返す。一方、計時部33の計数値がリセット判定値以上である場合には(S210:YES)、S220にて、コア11,12,13の要求受理数をリセット(0に設定)するとともに、S230にて、計時部33の計数値をリセット(0に設定)する。そして、調停処理を一旦終了し、S10の処理から再開する。   In S210, it is determined whether or not the count value of the time measuring unit 33 is equal to or greater than a reset determination value preset by the arbitration data. The reset determination value corresponds to an arbitration unit period described later (see FIG. 4). Here, when the count value of the time measuring unit 33 is less than the reset determination value (S210: NO), the process proceeds to S10 and the above process is repeated. On the other hand, when the count value of the time measuring unit 33 is equal to or greater than the reset determination value (S210: YES), the requested acceptance number of the cores 11, 12, and 13 is reset (set to 0) in S220, and the process proceeds to S230. Thus, the count value of the timer 33 is reset (set to 0). Then, the arbitration process is temporarily terminated and restarted from the process of S10.

次に、このように構成されたマイコン1の動作の具体例を説明する。
図4に示すように、調停単位期間内おいて、まずコア11が処理要求を発行したとする(処理要求R1を参照)。このときのコア11の要求受理数は0であり、コア11の受理上限値(本実施形態では3)より小さいため、調停回路4は、コア11からの処理要求を受理する(要求受理A1を参照)。これにより、コア11の要求受理数が1に設定される(要求受理数N1を参照)。
Next, a specific example of the operation of the microcomputer 1 configured as described above will be described.
As shown in FIG. 4, it is assumed that the core 11 first issues a processing request within the arbitration unit period (see processing request R1). At this time, the requested acceptance number of the core 11 is 0 and is smaller than the acceptance upper limit value of the core 11 (3 in the present embodiment). Therefore, the arbitration circuit 4 accepts a processing request from the core 11 (requires acceptance of the request acceptance A1). reference). Thereby, the request acceptance number of the core 11 is set to 1 (see the request acceptance number N1).

次に、コア12が処理要求を発行したとする(処理要求R2を参照)。このときのコア12の要求受理数が0であり、コア12の受理上限値(本実施形態では2)より小さいため、調停回路4は、コア12からの処理要求を受理する(要求受理A2を参照)。これにより、コア12の要求受理数が1に設定される(要求受理数N2を参照)。   Next, it is assumed that the core 12 issues a processing request (see processing request R2). Since the request acceptance number of the core 12 at this time is 0 and smaller than the acceptance upper limit value of the core 12 (2 in the present embodiment), the arbitration circuit 4 accepts the processing request from the core 12 (request acceptance A2 is set). reference). Thereby, the request acceptance number of the core 12 is set to 1 (see the request acceptance number N2).

次に、コア13が処理要求を発行したとする(処理要求R3を参照)。このときのコア13の要求受理数が0であり、コア13の受理上限値(本実施形態では1)より小さいため、調停回路4は、コア13からの処理要求を受理する(要求受理A3を参照)。これにより、コア13の要求受理数が1に設定される(要求受理数N3を参照)。   Next, it is assumed that the core 13 issues a processing request (see processing request R3). Since the request acceptance number of the core 13 at this time is 0 and smaller than the acceptance upper limit value of the core 13 (1 in the present embodiment), the arbitration circuit 4 accepts a processing request from the core 13 (requires acceptance of the request acceptance A3). reference). Thereby, the request acceptance number of the core 13 is set to 1 (refer to the request acceptance number N3).

次に、コア11とコア12が同時に処理要求を発行したとする(処理要求R4,R5を参照)。この場合に、コア11の優先度(本実施形態では1)はコア12の優先度(本実施形態では2)より高いため、調停回路4は、コア11からの処理要求を受理する(要求受理A4を参照)とともに、コア12からの処理要求を保留する(要求保留H5を参照)。これにより、コア11の要求受理数が2に設定される(要求受理数N4を参照)。   Next, it is assumed that the core 11 and the core 12 issue processing requests simultaneously (see processing requests R4 and R5). In this case, since the priority of the core 11 (1 in the present embodiment) is higher than the priority of the core 12 (2 in the present embodiment), the arbitration circuit 4 accepts a processing request from the core 11 (request acceptance). A processing request from the core 12 is suspended (see request suspension H5). Thereby, the request acceptance number of the core 11 is set to 2 (refer to the request acceptance number N4).

そして、リコンフィギャラブルデバイス3の機能部21がコア11の処理要求に応じた処理の結果を出力した後に、調停回路4は、保留されていた処理要求を受理する(要求受理A5を参照)。保留されていた処理要求はコア12からの処理要求であるため、コア12の要求受理数が2に設定される(要求受理数N5を参照)。   Then, after the functional unit 21 of the reconfigurable device 3 outputs the processing result corresponding to the processing request of the core 11, the arbitration circuit 4 receives the pending processing request (see request acceptance A5). Since the pending processing request is a processing request from the core 12, the request acceptance number of the core 12 is set to 2 (see the request acceptance number N5).

次に、コア13が処理要求を発行したとする(処理要求R6を参照)。このときのコア13の要求受理数が1であり、コア13の受理上限値に等しいため、調停回路4は、コア13からの処理要求を保留する(要求保留H6を参照)。   Next, it is assumed that the core 13 issues a processing request (see processing request R6). Since the number of requests accepted by the core 13 at this time is 1 and equal to the acceptance upper limit value of the core 13, the arbitration circuit 4 holds the processing request from the core 13 (see request holding H6).

その後、コア11が処理要求を発行したとする(処理要求R7を参照)。このときのコア11の要求受理数は7であり、コア11の受理上限値(本実施形態では3)より小さいため、調停回路4は、コア11からの処理要求を受理する(要求受理A7を参照)。これにより、コア11の要求受理数が3に設定される(要求受理数N7を参照)。   Thereafter, it is assumed that the core 11 issues a processing request (see processing request R7). At this time, the number of requests accepted by the core 11 is 7, which is smaller than the acceptance upper limit value of the core 11 (3 in the present embodiment), so the arbitration circuit 4 accepts a processing request from the core 11 (requires the request acceptance A7). reference). Thereby, the request acceptance number of the core 11 is set to 3 (refer to the request acceptance number N7).

そして、調停単位期間が経過すると、コア11,12,13の要求受理数がリセットされ(リセットRSを参照)、次の調停単位期間を開始する。これにより、調停回路4は、保留されていた処理要求を受理する(要求受理A6を参照)。そして、保留されていた処理要求はコア13からの処理要求であるため、コア13の要求受理数が1に設定される(要求受理数N6を参照)。   Then, when the arbitration unit period elapses, the request acceptance numbers of the cores 11, 12, and 13 are reset (see reset RS), and the next arbitration unit period is started. As a result, the arbitration circuit 4 accepts the pending processing request (see request acceptance A6). Since the pending processing request is a processing request from the core 13, the request acceptance number of the core 13 is set to 1 (see the request acceptance number N6).

このように構成されたマイコン1では、リコンフィギャラブルデバイス3が、コア11から発行される処理要求(以下、第1処理要求という)に対応した処理を実行することが可能に構成された機能部21と、コア12から発行される処理要求(以下、第2処理要求という)に対応した処理を実行することが可能に構成された機能部22と、コア13から発行される処理要求(以下、第3処理要求という)に対応した処理を実行することが可能に構成された機能部23とを搭載する。   In the microcomputer 1 configured as described above, the reconfigurable device 3 is configured to be able to execute processing corresponding to a processing request issued from the core 11 (hereinafter referred to as a first processing request). 21, a functional unit 22 configured to execute processing corresponding to a processing request issued from the core 12 (hereinafter referred to as a second processing request), and a processing request issued from the core 13 (hereinafter referred to as “second processing request”). And a functional unit 23 configured to be able to execute processing corresponding to the third processing request).

またマイコン1は、一定周期毎に繰り返される予め設定された調停単位期間内において第1処理要求に対応した処理を機能部21が実行する回数の上限を示す受理上限値(以下、第1受理上限値という)と、調停単位期間内において第2処理要求に対応した処理を機能部22が実行する回数の上限を示す受理上限値(以下、第2受理上限値という)と、調停単位期間内において第3処理要求に対応した処理を機能部23が実行する回数の上限を示す受理上限値(以下、第3受理上限値という)とに基づいて、第1処理要求に対応した処理を機能部21に実行させるか否か、第2処理要求に対応した処理を機能部22に実行させるか否か、および第3処理要求に対応した処理を機能部23に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路4を備える。   In addition, the microcomputer 1 accepts an upper limit of acceptance (hereinafter referred to as a first acceptance upper limit) indicating the upper limit of the number of times that the function unit 21 executes processing corresponding to the first processing request within a preset arbitration unit period that is repeated at regular intervals. Value), an acceptance upper limit value indicating the upper limit of the number of times the function unit 22 executes processing corresponding to the second processing request within the arbitration unit period (hereinafter referred to as the second acceptance upper limit value), and within the arbitration unit period. Based on the acceptance upper limit value (hereinafter referred to as the third acceptance upper limit value) indicating the upper limit of the number of times the function unit 23 executes the process corresponding to the third process request, the function unit 21 performs the process corresponding to the first process request. An arbitration function that determines whether the function unit 22 executes the process corresponding to the second process request, and whether the function unit 23 executes the process corresponding to the third process request. Hardware Comprising an arbitration circuit 4 constituted.

このようにマイコン1は、調停単位期間内において第1処理要求に対応した処理を機能部21が実行する回数を、第1受理上限値以下に制限することができる。同様にマイコン1は、調停単位期間内において第2,3処理要求に対応した処理を機能部22,23が実行する回数を、第2,3受理上限値が示す値以下に制限することができる。   As described above, the microcomputer 1 can limit the number of times the functional unit 21 executes the process corresponding to the first process request within the arbitration unit period to the first reception upper limit value or less. Similarly, the microcomputer 1 can limit the number of times the function units 22 and 23 execute processing corresponding to the second and third processing requests within the arbitration unit period to a value equal to or less than the value indicated by the second and third acceptance upper limit values. .

このため、図5に示すように、コア12,13からの第2,3処理要求(図5の矢印AL2,AL3を参照)よりもコア11からの第1処理要求(図5の矢印AL1を参照)が多く発行されたとしても、第1受理上限値を超える分は機能部21により実行されず、機能部21の処理が実行されなかった分を、第2,3処理要求に対応した処理に割り当てることができる。また、第2処理要求が頻繁に発行されたとしても、第2受理上限値を超える分は機能部22により実行されず、機能部22の処理が実行されなかった分を、第1,3処理要求に対応した処理に割り当てることができる。   Therefore, as shown in FIG. 5, the first processing request from the core 11 (see the arrow AL1 in FIG. 5) rather than the second and third processing requests from the cores 12 and 13 (see the arrows AL2 and AL3 in FIG. 5). Even if a large number of references) are issued, the portion exceeding the first acceptance upper limit value is not executed by the function unit 21, and the portion corresponding to the second and third processing requests corresponding to the portion where the processing of the function unit 21 is not executed Can be assigned to. Further, even if the second processing request is frequently issued, the portion exceeding the second acceptance upper limit value is not executed by the function unit 22, and the portion that the processing of the function unit 22 is not executed is determined as the first and third processing. Can be assigned to processing corresponding to the request.

そして、機能部21,22,23が実行する回数の制限は、調停単位期間毎に行われる。このため、調停単位期間が短くなるほど、第1処理要求が頻繁に発行された場合において第2,3処理要求に対応した処理が実行できなくなる期間を短くすることができる。調停単位期間内に第1受理上限値を超える分の第1処理要求は機能部21により実行されず、この調停単位期間内において、第2,3処理要求に対応した処理に割り当てることができるからである。同様に、調停単位期間が短くなるほど、第2処理要求が頻繁に発行された場合において第1,3処理要求に対応した処理が実行できなくなる期間を短くすることができる。   And the restriction | limiting of the frequency | count which the function parts 21, 22, and 23 perform is performed for every arbitration unit period. For this reason, the shorter the arbitration unit period, the shorter the period during which the processing corresponding to the second and third processing requests cannot be executed when the first processing requests are issued frequently. The first processing request exceeding the first acceptance upper limit value within the arbitration unit period is not executed by the functional unit 21, and can be assigned to the processing corresponding to the second and third processing requests within the arbitration unit period. It is. Similarly, the shorter the arbitration unit period, the shorter the period during which the processing corresponding to the first and third processing requests cannot be executed when the second processing request is issued frequently.

以上より、マイコン1は、或る処理要求が頻繁に発行されることにより他の処理要求に対応した処理が実行できなくなるという事態の発生を抑制することができる。
そして調停回路4では、調停単位期間内に第1処理要求に対応した処理を機能部21に実行させると決定した回数(第1要求受理数)と、調停単位期間内に第2処理要求に対応した処理を機能部22に実行させると決定した回数(第2要求受理数)と、調停単位期間内に第3処理要求に対応した処理を機能部23に実行させると決定した回数(第3要求受理数)とを計数する(S60,S120,S190,S210,S220)。また調停回路4では、第1,2,3要求受理数が第1,2,3受理上限値を超えないようにすることにより、第1処理要求に対応した処理を機能部21に実行させるか否か、第2処理要求に対応した処理を機能部22に実行させるか否か、および第3処理要求に対応した処理を機能部23に実行させるか否かを決定する(S30,S40,S100,S150,S170)。また調停回路4では、調停単位期間内に第1,2,3受理上限値を超えた分の第1,2,3処理要求を保留する(S90)。さらに調停回路4では、調停単位期間内に第1,2,3受理上限値を超えた分の第1,2,3処理要求が保留されている場合には、この第1,2,3処理要求を保留した調停単位期間が経過した後に、第1,2,3受理上限値に基づいて、保留されている第1,2,3処理要求を実行させるか否かを決定する(S150〜S170)。
As described above, the microcomputer 1 can suppress the occurrence of a situation in which a process corresponding to another process request cannot be executed due to a certain process request being issued frequently.
In the arbitration circuit 4, the number of times (first request acceptance number) determined to cause the function unit 21 to execute the process corresponding to the first process request within the arbitration unit period, and the second process request within the arbitration unit period. The number of times determined to cause the function unit 22 to execute the process (second request acceptance number) and the number of times determined to cause the function unit 23 to execute the process corresponding to the third process request within the arbitration unit period (third request) (Acceptance number) (S60, S120, S190, S210, S220). Further, in the arbitration circuit 4, the function unit 21 is caused to execute processing corresponding to the first processing request by preventing the first, second, and third request acceptance numbers from exceeding the first, second, and third acceptance upper limit values. No, whether to make the function unit 22 execute the process corresponding to the second process request, and whether to make the function part 23 execute the process corresponding to the third process request (S30, S40, S100). , S150, S170). Further, the arbitration circuit 4 holds the first, second, and third processing requests that exceed the first, second, and third acceptance upper limit values during the arbitration unit period (S90). Further, in the arbitration circuit 4, when the first, second, and third processing requests for the first, second, and third acceptance upper limit values are held within the arbitration unit period, the first, second, and third processings are suspended. After the arbitration unit period in which the request is suspended has elapsed, it is determined whether to execute the suspended first, second, and third processing requests based on the first, second, and third acceptance upper limit values (S150 to S170). ).

このように、受理上限値を超えることにより保留された第1,2,3処理要求は、調停単位期間が経過した後に実行される。これにより、以下に説明するように、コア11,12,13の最悪実行時間を容易に見積もることができる。   As described above, the first, second, and third processing requests that are suspended due to exceeding the acceptance upper limit value are executed after the arbitration unit period has elapsed. Thereby, as will be described below, the worst execution time of the cores 11, 12, and 13 can be easily estimated.

コア11,12,13の最悪実行時間は、コア11,12,13が処理要求を発行してから、この処理要求に対応する処理結果をリコンフィギャラブルデバイス3から調停回路4を介して受信するまでに要する時間の最大値である。具体的には図6に示すように、コア11,12,13の最悪実行時間は、最悪通信時間と最悪調停時間と最悪IO処理時間との和である。最悪通信時間は、コア11,12,13が調停回路4との間でデータ通信を行うのに要する時間の最大値である。最悪調停時間は、調停回路4がコア11,12,13からの処理要求を調停するのに要する時間の最大値である。最悪IO処理時間は、調停回路4が処理要求を出力してから、リコンフィギャラブルデバイス3から処理結果を入力するまでに要する時間の最大値である。   The worst execution time of the cores 11, 12, and 13 receives the processing result corresponding to the processing request from the reconfigurable device 3 through the arbitration circuit 4 after the cores 11, 12, and 13 issue the processing request. This is the maximum value of the time required to complete the process. Specifically, as shown in FIG. 6, the worst execution time of the cores 11, 12, and 13 is the sum of the worst communication time, the worst arbitration time, and the worst IO processing time. The worst communication time is the maximum time required for the cores 11, 12, and 13 to perform data communication with the arbitration circuit 4. The worst arbitration time is the maximum value of time required for the arbitration circuit 4 to arbitrate processing requests from the cores 11, 12, and 13. The worst IO processing time is the maximum value of the time required from when the arbitration circuit 4 outputs a processing request until the processing result is input from the reconfigurable device 3.

そして最悪調停時間は、調停単位期間と、他のコアによる最悪IO処理時間との和である。例えば、コア12の処理要求が調停単位期間内の初期に保留されて、調停単位期間の終了直前にコア11の処理要求が受理された場合には、次の調停単位期間が開始されても、前回の調停単位期間で受理されたコア11の処理要求に対応した処理が完了するまでは、前回の調停単位期間内で保留されたコア12の処理要求に対応する処理を実行することができない。このため、コア12の最悪調停時間を、例えば、調停単位期間とコア11の最悪IO処理時間との和とすることができる。   The worst arbitration time is the sum of the arbitration unit period and the worst IO processing time by another core. For example, when the processing request of the core 12 is held at the initial stage in the arbitration unit period and the processing request of the core 11 is accepted immediately before the end of the arbitration unit period, even if the next arbitration unit period is started, Until the processing corresponding to the processing request of the core 11 accepted in the previous arbitration unit period is completed, the processing corresponding to the processing request of the core 12 suspended in the previous arbitration unit period cannot be executed. For this reason, the worst arbitration time of the core 12 can be, for example, the sum of the arbitration unit period and the worst IO processing time of the core 11.

このように、コア11,12,13の最悪調停時間を、調停単位期間と、他のコアによる最悪IO処理時間との和とすることができるため、コア11,12,13の最悪実行時間を容易に見積もることができる。   Thus, since the worst arbitration time of the cores 11, 12, and 13 can be the sum of the arbitration unit period and the worst IO processing time by other cores, the worst execution time of the cores 11, 12, and 13 can be reduced. Can be easily estimated.

また調停回路4では、第1処理要求、第2処理要求および第3処理要求の少なくとも2つが保留されている場合に、保留されたタイミングに基づいて、保留されたタイミングが早い順に、保留された第1,2,3処理要求のうち何れを先に実行させるかを決定する(S150)。これにより、保留された処理要求について、処理要求が発行された順にリコンフィギャラブルデバイス3に処理を行わせることができる。   In addition, in the arbitration circuit 4, when at least two of the first processing request, the second processing request, and the third processing request are held, the holding timings are held in order based on the holding timing. Which of the first, second, and third processing requests is to be executed first is determined (S150). Thereby, it is possible to cause the reconfigurable device 3 to process the pending processing requests in the order in which the processing requests are issued.

また調停回路4では、第1処理要求、第2処理要求および第3処理要求の少なくとも2つが同時に発行された場合には、第1,2,3処理要求に予め設定された優先度に基づいて、第1,2,3処理要求の何れを優先するかを決定する(S100)。これにより、リコンフィギャラブルデバイス3に、優先度の高い処理を優先して実行させることができる。例えば図7に示すように、コア11からの第1処理要求(図7の矢印AL11を参照)とコア12からの第2処理要求(図7の矢印AL12を参照)が同時に発行された場合には、リコンフィギャラブルデバイス3は、第1処理要求に対応する処理を、第2処理要求に対応する処理に優先して実行する。   Further, in the arbitration circuit 4, when at least two of the first processing request, the second processing request, and the third processing request are issued simultaneously, the arbitration circuit 4 is based on the priority set in advance for the first, second, and third processing requests. Which of the first, second, and third processing requests is prioritized is determined (S100). Thereby, it is possible to cause the reconfigurable device 3 to preferentially execute processing with high priority. For example, as shown in FIG. 7, when the first processing request from the core 11 (see arrow AL11 in FIG. 7) and the second processing request from the core 12 (see arrow AL12 in FIG. 7) are issued simultaneously. The reconfigurable device 3 executes the process corresponding to the first process request with priority over the process corresponding to the second process request.

以上説明した実施形態において、コア11は本発明における第1要求元、コア12は本発明における第2要求元、機能部21は本発明における第1処理実行部、機能部22は本発明における第2処理実行部、第1受理上限値は本発明における第1上限情報、第2受理上限値は本発明における第2上限情報である。   In the embodiment described above, the core 11 is the first request source in the present invention, the core 12 is the second request source in the present invention, the function unit 21 is the first process execution unit in the present invention, and the function unit 22 is the first request source in the present invention. 2 processing execution part, the 1st acceptance upper limit is the 1st upper limit information in the present invention, and the 2nd acceptance upper limit is the 2nd upper limit information in the present invention.

また、S60,S120,S190,S210,S220の処理は本発明における計数手段、S30,S40,S100,S150〜S170の処理は本発明における実行決定手段、S90の処理は本発明における保留手段、第1要求受理数は本発明における第1処理決定数、第2要求受理数は本発明における第2処理決定数である。   The processing of S60, S120, S190, S210, and S220 is counting means in the present invention, the processing of S30, S40, S100, and S150 to S170 is execution determining means in the present invention, and the processing of S90 is holding means in the present invention. One request acceptance number is the first process decision number in the present invention, and the second request acceptance number is the second process decision number in the present invention.

以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、リコンフィギャラブルデバイス3がFPGAであるものを示したが、これに限定されるものではなく、例えばリコンフィギャラブルデバイス3がCPLD(Complex Programmable Logic Device)であってもよい。
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to the said embodiment, As long as it belongs to the technical scope of this invention, a various form can be taken.
For example, in the above embodiment, the reconfigurable device 3 is an FPGA. However, the present invention is not limited to this. For example, the reconfigurable device 3 may be a CPLD (Complex Programmable Logic Device).

また上記実施形態では、第2選択条件が処理要求の発行順であり第3選択条件が優先度であるものを示したが、第2選択条件が優先度であり第3選択条件が処理要求の発行順であるようにしてもよい。   In the above-described embodiment, the second selection condition is the order in which processing requests are issued and the third selection condition is priority. However, the second selection condition is priority and the third selection condition is the processing request. You may make it be an issue order.

また上記実施形態では、リコンフィギャラブルデバイス3のデータ記憶部24に調停用データを記憶するものを示したが、調停用データの記憶はリコンフィギャラブルデバイス3に限定されるものではなく、例えば、マイコン1に搭載されているレジスタまたはメモリに調停用データを記憶するようにしてもよい。   Moreover, in the said embodiment, although what stored the data for arbitration in the data storage part 24 of the reconfigurable device 3 was shown, storage of the data for arbitration is not limited to the reconfigurable device 3, For example, The arbitration data may be stored in a register or memory mounted on the microcomputer 1.

また上記実施形態では、データ記憶部24に記憶されている調停用データにより、処理要求の優先度を設定するものを示したが、調停回路4において処理要求の優先度が予め設定されているようにしてもよい。例えば、コア11,12,13からの処理要求の優先度がそれぞれ1,2,3であるように調停回路4で予め設定されているようにしてもよい。つまり、調停回路4に設定されている優先度に基づいて、コア11,12,13で実行される処理を決定するようにしてもよい。   In the above embodiment, the arbitration data stored in the data storage unit 24 sets the priority of the processing request. However, the arbitration circuit 4 seems to set the priority of the processing request in advance. It may be. For example, the arbitration circuit 4 may be set in advance so that the priority of processing requests from the cores 11, 12, and 13 are 1, 2, and 3, respectively. That is, the processing to be executed by the cores 11, 12, and 13 may be determined based on the priority set in the arbitration circuit 4.

1…マイコン、3…リコンフィギャラブルデバイス、4…調停回路、11,12,13…コア、21,22,23…機能部   DESCRIPTION OF SYMBOLS 1 ... Microcomputer, 3 ... Reconfigurable device, 4 ... Arbitration circuit, 11, 12, 13 ... Core, 21, 22, 23 ... Functional part

Claims (4)

リコンフィギャラブルデバイス(3)を搭載するマイクロコンピュータ(1)であって、
前記リコンフィギャラブルデバイスは、
前記リコンフィギャラブルデバイスに対して処理要求を発行する複数の要求元のうちの1つの前記要求元を第1要求元とし、複数の前記要求元のうち前記第1要求元とは異なる1つの前記要求元を第2要求元として、前記第1要求元から発行される第1処理要求に対応した処理を実行することが可能に構成された第1処理実行部(21)と、前記第2要求元から発行される第2処理要求に対応した処理を実行することが可能に構成された第2処理実行部(22)とを搭載し、
当該マイクロコンピュータは、
一定周期毎に繰り返される予め設定された調停単位期間内において前記第1処理要求に対応した処理を前記第1処理実行部が実行する回数の上限を示す情報である第1上限情報と、前記調停単位期間内において前記第2処理要求に対応した処理を前記第2処理実行部が実行する回数の上限を示す情報である第2上限情報とに基づいて、前記第1処理要求に対応した処理を前記第1処理実行部に実行させるか否かを決定するとともに、前記第2処理要求に対応した処理を前記第2処理実行部に実行させるか否かを決定する調停機能がハードウェアで構成された調停回路(4)を備える
ことを特徴とするマイクロコンピュータ。
A microcomputer (1) equipped with a reconfigurable device (3),
The reconfigurable device is
One request source among a plurality of request sources that issue processing requests to the reconfigurable device is a first request source, and one of the plurality of request sources that is different from the first request source A first process execution unit (21) configured to execute a process corresponding to a first process request issued from the first request source, using the request source as a second request source, and the second request A second process execution unit (22) configured to execute a process corresponding to the second process request issued from the source,
The microcomputer is
First upper limit information, which is information indicating an upper limit of the number of times the first process execution unit executes a process corresponding to the first process request within a preset arbitration unit period that is repeated at regular intervals; and the arbitration Based on the second upper limit information, which is information indicating the upper limit of the number of times the second process execution unit executes the process corresponding to the second process request within the unit period, the process corresponding to the first process request is performed. An arbitration function for determining whether or not to cause the first process execution unit to execute and to determine whether or not to cause the second process execution unit to execute a process corresponding to the second process request is configured by hardware. A microcomputer comprising the arbitration circuit (4).
前記調停回路は、
前記調停単位期間内に前記第1処理要求に対応した処理を前記第1処理実行部に実行させると決定した回数である第1処理決定数と、前記調停単位期間内に前記第2処理要求に対応した処理を前記第2処理実行部に実行させると決定した回数である第2処理決定数とを計数する計数手段(S60,S120,S190,S210,S220)と、
前記第1上限情報が示す回数を前記第1処理決定数が超えないようにするとともに、前記第2上限情報が示す回数を前記第2処理決定数が超えないようにすることにより、前記第1処理要求に対応した処理を前記第1処理実行部に実行させるか否かを決定するとともに、前記第2処理要求に対応した処理を前記第2処理実行部に実行させるか否かを決定する実行決定手段(S30,S40,S100,S150〜S170)と、
前記調停単位期間内に前記第1上限情報が示す数を超えた分の前記第1処理要求と、前記調停単位期間内に前記第2上限情報が示す数を超えた分の前記第2処理要求を少なくとも保留する保留手段(S90)とを備え、
前記実行決定手段は、前記保留手段により、前記調停単位期間内に前記第1上限情報が示す数を超えた分の前記第1処理要求および前記調停単位期間内に前記第2上限情報が示す数を超えた分の前記第2処理要求の少なくとも一方が保留されている場合には、前記保留手段が該第1処理要求および該第2処理要求を保留した前記調停単位期間が経過した後に、前記第1上限情報および前記第2上限情報に基づいて、前記保留が行われた前記調停単位期間内に前記第1上限情報が示す数を超えた分の前記第1処理要求および前記保留が行われた前記調停単位期間内に前記第2上限情報が示す数を超えた分の前記第2処理要求について、その処理要求に対応した処理を実行させるか否かを決定する
ことを特徴とする請求項1に記載のマイクロコンピュータ。
The arbitration circuit is:
A first process decision number, which is the number of times that the first process execution unit has decided to execute the process corresponding to the first process request within the arbitration unit period, and the second process request within the arbitration unit period. Counting means (S60, S120, S190, S210, S220) for counting the second process determination number, which is the number of times determined to cause the second process execution unit to execute the corresponding process;
The first process decision number does not exceed the number of times indicated by the first upper limit information, and the second process decision number does not exceed the number of times indicated by the second upper limit information. Execution to determine whether or not to cause the first process execution unit to execute a process corresponding to the process request, and to determine whether or not to cause the second process execution unit to execute a process corresponding to the second process request Determining means (S30, S40, S100, S150 to S170);
The first processing request that exceeds the number indicated by the first upper limit information within the arbitration unit period and the second processing request that exceeds the number indicated by the second upper limit information within the arbitration unit period Holding means (S90) for holding at least
The execution determining means is the number indicated by the second upper limit information within the first processing request and the arbitration unit period for the amount exceeding the number indicated by the first upper limit information within the arbitration unit period by the holding means. When at least one of the second processing requests exceeding the amount is held, after the arbitration unit period in which the holding means holds the first processing request and the second processing request has elapsed, Based on the first upper limit information and the second upper limit information, the first processing request and the hold for the number exceeding the number indicated by the first upper limit information within the arbitration unit period for which the hold has been performed are performed. In addition, it is determined whether or not to execute processing corresponding to the processing request for the second processing request that exceeds the number indicated by the second upper limit information within the arbitration unit period. 1. The microcomputer according to 1. Pewter.
前記実行決定手段は、
前記保留手段により前記第1処理要求と前記第2処理要求の両方が保留されている場合に、前記第1処理要求および前記第2処理要求のそれぞれに予め設定された優先度、または前記保留手段により保留されたタイミングに基づいて、前記保留手段により保留された前記第1処理要求および前記第2処理要求のうち何れについて、その処理要求に対応した処理を先に実行させるかを決定する
ことを特徴とする請求項2に記載のマイクロコンピュータ。
The execution determining means is
When both the first processing request and the second processing request are held by the holding means, the priority set in advance for each of the first processing request and the second processing request, or the holding means Deciding which of the first processing request and the second processing request held by the holding means to execute the processing corresponding to the processing request first based on the timing held by The microcomputer according to claim 2, characterized in that:
前記調停回路は、
前記第1要求元からの前記第1処理要求と前記第2要求元からの前記第2処理要求が同時に発行された場合には、前記第1処理要求および前記第2処理要求のそれぞれに予め設定された優先度に基づいて、前記第1処理要求と前記第2処理要求の何れを優先するかを決定する
ことを特徴とする請求項1〜請求項3の何れか1項に記載のマイクロコンピュータ。
The arbitration circuit is:
When the first processing request from the first request source and the second processing request from the second request source are issued simultaneously, the first processing request and the second processing request are set in advance. The microcomputer according to any one of claims 1 to 3, wherein which of the first processing request and the second processing request is to be prioritized is determined based on the priority that has been set. .
JP2013165153A 2013-08-08 2013-08-08 Microcomputer Active JP5884788B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013165153A JP5884788B2 (en) 2013-08-08 2013-08-08 Microcomputer
DE102014215561.4A DE102014215561A1 (en) 2013-08-08 2014-08-06 MICROCOMPUTER

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013165153A JP5884788B2 (en) 2013-08-08 2013-08-08 Microcomputer

Publications (2)

Publication Number Publication Date
JP2015035069A JP2015035069A (en) 2015-02-19
JP5884788B2 true JP5884788B2 (en) 2016-03-15

Family

ID=52389056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013165153A Active JP5884788B2 (en) 2013-08-08 2013-08-08 Microcomputer

Country Status (2)

Country Link
JP (1) JP5884788B2 (en)
DE (1) DE102014215561A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109905435A (en) * 2017-12-08 2019-06-18 京东方科技集团股份有限公司 Resource subscription method and system, storage medium, electronic equipment
JP7226169B2 (en) * 2019-07-26 2023-02-21 株式会社デンソー electronic controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3596402B2 (en) * 2000-02-02 2004-12-02 株式会社デンソー Access right arbitration device
JP2001236263A (en) * 2000-02-24 2001-08-31 Fujitsu Ten Ltd Controller of eeprom and method for requesting access to eeprom
JP2005316957A (en) * 2004-03-31 2005-11-10 Seiko Epson Corp Information processing system, first information processor, first information processor control program, and first information processor control method
JP4305364B2 (en) * 2004-10-25 2009-07-29 日本電気株式会社 Web service request relay system, Web service request relay method, relay server, and program thereof
JP4936517B2 (en) * 2006-06-06 2012-05-23 学校法人早稲田大学 Control method for heterogeneous multiprocessor system and multi-grain parallelizing compiler

Also Published As

Publication number Publication date
DE102014215561A1 (en) 2015-02-12
JP2015035069A (en) 2015-02-19

Similar Documents

Publication Publication Date Title
JP5653431B2 (en) Multiprocessor system
US9940168B2 (en) Resource sharing using process delay
JP5565204B2 (en) Data transfer apparatus, data transfer method and program, and image forming apparatus
JP5884788B2 (en) Microcomputer
JP4829038B2 (en) Multiprocessor system
JP2014191655A (en) Multiprocessor, electronic control device, and program
JP2017162522A (en) Method and apparatus for allocating interrupts in multi-core system
JP5561241B2 (en) Microcomputer
TW201916644A (en) Bus system
JP5239769B2 (en) Request order control system, request order control method, and request order control program
JP2006215621A (en) Dma controller
US8954643B2 (en) Scheduled peripheral component interconnect arbiter
US9323702B2 (en) Increasing coverage of delays through arbitration logic
WO2019188175A1 (en) Deadlock avoidance method and deadlock avoidance device
JP2012247849A (en) Microcomputer
JP2011107939A (en) Redundant system information processor
JP2008250419A (en) Competition arbitration apparatus, master-slave system, and method for competition arbitration
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP4955205B2 (en) Arbitration device and arbitration method
JP6392556B2 (en) Access request issuing device, access request issuing system, access request issuing method, and access request issuing program
JP2004102452A (en) Memory unit
JP6119442B2 (en) Simulation apparatus, operation method of simulation apparatus, and simulation program
CN116795490A (en) vCPU scheduling method, device, equipment and storage medium
JP2020013335A (en) Information processor and information processing method
JP2007199887A (en) Interrupt control apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160125

R151 Written notification of patent or utility model registration

Ref document number: 5884788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250