JP2019128711A - Electronic control device - Google Patents
Electronic control device Download PDFInfo
- Publication number
- JP2019128711A JP2019128711A JP2018008895A JP2018008895A JP2019128711A JP 2019128711 A JP2019128711 A JP 2019128711A JP 2018008895 A JP2018008895 A JP 2018008895A JP 2018008895 A JP2018008895 A JP 2018008895A JP 2019128711 A JP2019128711 A JP 2019128711A
- Authority
- JP
- Japan
- Prior art keywords
- shared resource
- request
- register
- control
- usage
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
Abstract
Description
本発明は、マルチコアマイコン(メニーコアマイコンとも言う)の共有リソースに対するアクセスを制御可能な電子制御装置に関する。 The present invention relates to an electronic control unit capable of controlling access to shared resources of a multi-core microcomputer (also referred to as a many-core microcomputer).
半導体プロセスの微細化とともに、組み込みマイコンの高集積化と高機能化が急速に進展している。組み込みマイコンの重要な応用先の1つとして、自動車分野における車載電子制御装置(Electronic Control Unit、ECU)が挙げられる。システムコスト削減に対する要求を背景に、複数台のECUにより実現されていた機能を1台のECUに集約可能とする技術が求められている。期待される技術としては、例えばマルチコアを活用した高性能な組み込みマイコンを搭載する統合ECUや、統合ECUに集約された各機能を実現するアプリケーションを適切に実行するためのアプリケーション実行基盤が挙げられる。 With the miniaturization of semiconductor processes, high integration and high functionality of embedded microcomputers are rapidly advancing. One of the important application destinations of embedded microcomputers is an in-vehicle electronic control unit (ECU) in the automobile field. With the background of the demand for system cost reduction, there is a need for a technology that enables the functions realized by multiple ECUs to be integrated into one ECU. Expected technologies include, for example, an integrated ECU equipped with a high-performance embedded microcomputer utilizing a multi-core, and an application execution base for appropriately executing an application for realizing each function integrated in the integrated ECU.
最終製品の安全性に大きく関わる車載ECUは、その実装品質や安全性を担保する機能安全フレームワークとして、車載組み込みシステム向けの国際規格であるISO26262に依拠している。ISO26262は、車載組み込みシステムにおける高い安全性・信頼性と、ソフトウェア開発効率化の両立を目標に規格化され、自動車安全度水準(Automotive Safety Integrity Level、ASIL)と呼ばれる指標を導入し、ASIL導出のための3つのファクタ(暴露性・回避性・危害度)と、それらを用いたハザード分析・リスク評価手法を定めている。ASILとは、車載組み込みシステムで起こり得る障害(ハザード)を回避するために実現しなければならない安全性のレベルを、5段階で表現したものである。 The in-vehicle ECU that is largely related to the safety of the final product relies on ISO 26262, which is an international standard for in-vehicle embedded systems, as a functional safety framework that ensures its mounting quality and safety. ISO 26 262 is standardized with the goal of achieving both high safety and reliability in in-vehicle embedded systems and efficient software development, and introduces an indicator called Automotive Safety Integrity Level (ASIL), and derives ASIL derived Three factors (exposure, avoidance, hazard) and hazard analysis and risk assessment methods using them. The ASIL is a five-level representation of the level of safety that must be achieved to avoid possible hazards in the in-vehicle embedded system.
ISO26262準拠に際し、特に重視されるのは、アプリケーション間での無干渉(Freedom From Interference、FFI)の保証である。FFIの考え方では、相互に異なるASILを付与された複数のアプリケーションが1つのECU上で混在して実行される場合に、より低いASILを持つアプリケーションで発生した誤動作が、より高いASILを持つアプリケーションに伝播することを防ぐことが求められる。ISO26262が規定する、アプリケーション間で発生し得る干渉としては、タイミングと実行(時間ドメイン)、メモリ、情報の交換の3タイプが存在する。 When complying with ISO26262, the emphasis is on ensuring no interference between applications (Freedom From Interference, FFI). According to the FFI concept, when multiple applications with different ASILs are mixedly executed on one ECU, a malfunction generated in an application with lower ASIL will be for an application with higher ASIL. It is required to prevent propagation. There are three types of interference that can occur between applications defined by ISO26262: timing and execution (time domain), memory, and exchange of information.
時間ドメインにおける無干渉性とは、あるアプリケーションの実行中に発生した障害や、想定外の割り込み処理が、安全に関わる他のアプリケーションの実行を妨げないことである。そのための典型的な実現手段としては、実行基盤となるリアルタイムOSを構成する要素の一部として、時間管理用のハードウェア(ウォッチドッグタイマなど)とソフトウェアの組み合わせにより、アプリケーション実行の静的または動的スケジューリング機能と、実行時間の監視機能を持たせたものがある。車載ECU上で同時に動作する複数のアプリケーション(もしくはアプリケーションの構成要素であるタスク)の実行スケジュールを決定する際には、マイコン内蔵または外付けのメモリや周辺モジュールなどの共有リソースへのアクセスに関する、アプリケーション間の依存関係に矛盾が生じないことが求められる。 Incoherence in the time domain means that a failure that occurs during execution of an application or unexpected interrupt processing does not prevent the execution of another application related to safety. As a typical implementation means for that purpose, static or dynamic execution of application execution by combination of hardware for time management (such as watchdog timer) and software as a part of elements constituting real-time OS as execution basis Dynamic scheduling function and execution time monitoring function. When determining the execution schedule of multiple applications (or tasks that are components of the application) operating simultaneously on the in-vehicle ECU, applications related to access to shared resources such as microcomputer internal or external memory and peripheral modules It is required that there is no contradiction in the dependency between
同時に実行するアプリケーション、またはアプリケーションを実行する演算要素が比較的少数である場合には、リソース共有やアクセスの排他制御を実現する以下の技術が利用されている。
(1)リアルタイムOSのスケジューラが管理する時間(Tick)を単位として、アプリケーション間の依存関係を維持しつつ適切な順序で、各アプリケーションに対し、固定タイムスロットを割り当てる時間駆動スケジューリング。
(2)共有リソースごとに設定したロック変数に対する、マイコンのアーキテクチャがサポートする手段を利用したロック/アンロック操作によるアクセス排他制御。
In the case where there are relatively few applications executing simultaneously or computing elements executing the applications, the following techniques for realizing exclusive control of resource sharing and access are used.
(1) Time-driven scheduling in which fixed time slots are allocated to each application in an appropriate order while maintaining the dependency between applications in units of time (Tick) managed by the scheduler of the real-time OS.
(2) Exclusive control of access to lock variables set for each shared resource by means of lock / unlock operations using means supported by the microcomputer architecture.
しかしながら、時間駆動スケジューリングでは、共有リソースを専有する時間がTick未満である、もしくはアプリケーション間で大きく異なる場合に、共有リソースの利用効率が低下する。加えて、特定のアプリケーションに対する共有リソースの使用権限割り当て間隔がアプリケーション数に比例して増大するため、処理のリアルタイム性が低下する。 However, in the time-driven scheduling, when the time dedicated to the shared resource is less than Tick or greatly differs between applications, the use efficiency of the shared resource decreases. In addition, since the usage resource assignment interval of the shared resource for a specific application increases in proportion to the number of applications, the real-time property of processing is degraded.
アクセス排他制御では、スピンロック処理に起因する演算要素の利用効率低下や演算処理ボトルネックが発生し、FFIの実現に必要な優先度に基づく厳密なスケジュール管理も不可能である。 In the access exclusive control, the use efficiency of computing elements is reduced due to the spin lock process, and an operation processing bottleneck occurs, and strict schedule management based on the priority necessary for realizing FFI is impossible.
このため、上述したいずれの技術を適用した場合においても、統合ECUに搭載される車載マルチコアマイコンにソフトウェア実行基盤が集約され、さらにその上で動作する多数のアプリケーションがマイコン内外のリソースを共有する環境では、車載組み込みシステムに特有の要件であるハードリアルタイム性と、マイコン上で並列動作するアプリケーション(もしくは演算要素)数の増加トレンドに適応し続けることが可能なスケーラブルなリソース共有制御の実現とを両立させることが困難だった。 For this reason, even if any of the above-mentioned technologies is applied, the software execution base is integrated into the in-vehicle multi-core microcomputer mounted on the integrated ECU, and a large number of applications operating on the same share resources inside and outside the microcomputer. In both, real-time performance, which is a unique requirement for in-vehicle embedded systems, and realization of scalable resource sharing control that can continue to adapt to the increasing trend of the number of applications (or computing elements) that run in parallel on a microcomputer It was difficult to let
本発明は、上記事情に鑑みなされたものであり、その目的は、マルチコアマイコンにおける処理のリアルタイム性を維持しつつ、共有リソースの利用効率を向上させることが可能な電子制御装置を提供することにある。 The present invention has been made in view of the above circumstances, and an object thereof is to provide an electronic control device capable of improving the utilization efficiency of shared resources while maintaining the real-time processing of the multi-core microcomputer. is there.
上記目的を達成するため、第1の観点に係る電子制御装置は、共有リソースの割り当てに関するポリシ情報を記憶し、前記ポリシ情報に基づいて前記共有リソースの割り当て処理を実行する第1演算装置とを備える。 In order to achieve the above object, an electronic control device according to a first aspect includes a first arithmetic device that stores policy information related to shared resource allocation and executes the shared resource allocation processing based on the policy information. Prepare.
本発明によれば、マルチコアマイコンにおける処理のリアルタイム性を維持しつつ、共有リソースの利用効率を向上させることができる。 ADVANTAGE OF THE INVENTION According to this invention, the utilization efficiency of a shared resource can be improved, maintaining the real-time property of the process in a multi-core microcomputer.
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 Embodiments will be described with reference to the drawings. The embodiments described below do not limit the invention according to the claims, and all of the elements described in the embodiments and their combinations are essential to the solution means of the invention. There is no limit.
また、以下の説明において、「メモリ」はプログラムやデータを記憶する1つ以上の実体であり、各メモリはそれぞれ1以上の不揮発性メモリ、揮発性メモリ、ROM、RAM、First−In−First−Out(FIFO)型バッファメモリ、リング型バッファメモリ、インタリーブ型バッファメモリ、命令キャッシュ、データキャッシュまたはレジスタから構成することができる。メモリの一部または全部は、マイコン(マイクロコンピュータとも言う)と同一のシリコンチップ上に形成されていてもよいし、異なるシリコンチップ上に形成されていてもよい。メモリは、さらに、マイコンのメモリアドレス空間を経由してアクセス可能な不揮発性外部記憶デバイス(例えば、ハードディスクドライブまたはソリッドステートドライブ、メモリカードなどの記録媒体)を含んでいてもよい。 In the following description, “memory” is one or more entities that store programs and data, and each memory includes one or more nonvolatile memories, volatile memories, ROM, RAM, First-In-First- An Out (FIFO) type buffer memory, a ring type buffer memory, an interleave type buffer memory, an instruction cache, a data cache, or a register can be used. Part or all of the memory may be formed on the same silicon chip as the microcomputer (also referred to as a microcomputer) or may be formed on a different silicon chip. The memory may further include a non-volatile external storage device (eg, a hard disk drive or a solid state drive, a recording medium such as a memory card) accessible via the memory address space of the microcomputer.
また、以下の説明において、マイコンは複数の演算要素(プロセッサエレメント、PE)を含むマルチコアマイコンである。PEを構成する1つ以上のCPUコアの実装は、それぞれ1つの命令実行ユニットを備える非スーパースカラ方式でもよいし、2以上の命令実行ユニットを備えるスーパースカラ方式でもよい。PEもしくはCPUコアの故障や誤動作を検出する目的で、1つのPEを構成する、物理的に複数のCPUコア上で同一プログラムを同時に実行する、ロックステップ構成を採用してもよい。マイコンは、CPUコアとは独立に、もしくはCPUコアからの指示に基づいて、メモリアクセスを実行するハードウェア回路(例えばDirect Memory Access Controller、DMAC)を含んでいてもよい。 Further, in the following description, the microcomputer is a multi-core microcomputer including a plurality of arithmetic elements (processor elements, PEs). The implementation of one or more CPU cores constituting a PE may be a non-superscalar system having one instruction execution unit or a superscalar system having two or more instruction execution units. In order to detect a failure or a malfunction of the PE or CPU core, a lockstep configuration may be employed in which one PE is configured and the same program is simultaneously executed physically on a plurality of CPU cores. The microcomputer may include a hardware circuit (for example, Direct Memory Access Controller, DMAC) that executes memory access independently of the CPU core or based on an instruction from the CPU core.
また、以下の説明において、「kkk部」の表現にて機能を説明することがあるが、機能は1以上のプログラムが命令実行ユニットで実行されることで実現されてもよいし、1以上のハードウェア回路(例えば、Field Programmable Gate Array(FPGA)やApplication Specific Integrated Circuit(ASIC))によって実現されてもよい。機能が命令実行ユニットによって実現される場合、定められた処理が適宜メモリおよび/または通信用外部インタフェースを用いながら行われるため、機能は命令実行ユニットの少なくとも一部とされてもよい。機能を主語として説明された処理は、命令実行ユニットまたはその命令実行ユニットを有するCPUコアが行う処理としてもよい。また、命令実行ユニットは、処理の一部または全部を行うハードウェア回路を含んでいてもよい。プログラムは、プログラムソースから、マイコンがアクセス可能な1つ以上のメモリにインストールされてもよい。プログラムソースは、例えば、不揮発性メモリ上の特定領域、またはマイコンが読み取り可能な記録媒体(例えば、メモリカード)にあってもよい。なお、各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。 In the following description, the function may be described using the expression “kkk part”. However, the function may be realized by executing one or more programs in the instruction execution unit, or one or more functions. It may be realized by a hardware circuit (for example, Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC)). When the function is implemented by the instruction execution unit, the function may be at least a part of the instruction execution unit, since the defined processing is appropriately performed using the memory and / or the communication external interface. The processing described with the function as the subject may be processing performed by an instruction execution unit or a CPU core having the instruction execution unit. Also, the instruction execution unit may include hardware circuitry that performs some or all of the processing. The program may be installed from one or more program sources to one or more memories accessible by the microcomputer. The program source may be located, for example, in a specific area on a non-volatile memory or in a recording medium readable by a microcomputer (for example, a memory card). The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号または参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用または参照符号に代えて、その要素に割り振られたIDを使用することがある。 In the following description, when a description is made without distinguishing the same type of element, a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used. Or, instead of the reference code, an ID assigned to the element may be used.
図1は、第1実施形態に係る電子制御装置に適用されるマイコンの構成例を示すブロック図である。
図1において、マイコン1は、内蔵機能モジュールとして、複数のPE10、20−1、20−2、20−3、共有リソース30、使用要求レジスタ50および使用権限制御装置60を含む。PE10、20−1、20−2、20−3は、演算要素として用いることができる。PE10、20−1、20−2、20−3、共有リソース30、使用要求レジスタ50および使用権限制御装置60は、PE間接続バス40を介して相互接続される。PE10および使用権限制御装置60は、同一のシリコンチップ上に実装されていてもよいし、異なるシリコンチップ上に実装されていてもよい。使用権限制御装置60は、図3の使用権限制御装置60Aであってもよい。PE10は、共有リソース管理プログラムを実行するマスタPEとして動作する。PE20−1、20−2、20−3は、共有リソース管理プログラム以外のユーザプログラム(以下アプリケーションとも呼ぶ)を実行するサテライトPEとして動作する。なお、マスタPEでアプリケーションを動作させてもよい。PE10が共有リソース管理プログラムを実行することにより、PE20−1、20−2、20−3間での共有リソース30の割り当てに関するポリシ情報に基づいて、共有リソース30の割り当て処理を実現することができる。各PE20−1、20−2、20−3は、共有リソース30の使用を要求し、共有リソース30の使用の要求に応じて時分割的に割り当てられた共有リソース30の使用権限に基づいて、共有リソース30を排他的に使用することができる。
FIG. 1 is a block diagram showing a configuration example of a microcomputer applied to the electronic control unit according to the first embodiment.
In FIG. 1, the
この時、PE20−1、20−2、20−3は、共有リソース30の使用要求を使用要求レジスタ50に格納する。PE10は、使用要求レジスタ50に保持された要求状態に基づいてPE20−1、20−2、20−3からの共有リソース30の使用要求を受け付ける。そして、PE10は、使用要求を受け付けたPE20−1、20−2、20−3間において、共有リソース30の割り当てに関するポリシ情報に基づいて共有リソース30の使用のスケジューリングを実行する。使用権限制御装置60は、共有リソース30の使用のスケジューリング結果に基づいて、共有リソース30の使用権限をPE20−1、20−2、20−3に付与する。PE20−1、20−2、20−3は、使用権限制御装置60から付与された使用権限に基づいて共有リソース30を排他的に使用する。
At this time, the PEs 20-1, 20-2, and 20-3 store the use request of the shared
ここで、共有リソース30の割り当てに関するポリシ情報は、PE20−1、20−2、20−3ごとにソフトウェアまたはファームウェア上で個別に設定することができる。このため、PE20−1、20−2、20−3が受け持つ処理内容や処理が遅れた時の危害度などに応じて、PE20−1、20−2、20−3に対する共有リソース30の使用の優先度や使用時間を柔軟に設定することができ、共有リソース30を使用するPE20−1、20−2、20−3の個数が増大した場合においても、PE20−1、20−2、20−3の処理のリアルタイム性を維持することが可能となる。
Here, the policy information related to the allocation of the shared
また、PE10が共有リソース30の使用のスケジューリングを実行し、使用権限制御装置60が共有リソース30の使用権限をPE20−1、20−2、20−3に付与することにより、PE20−1、20−2、20−3による共有リソース30の占有状態および解放状態をPE10、20−1、20−2、20−3が管理する必要がなくなり、PE10、20−1、20−2、20−3の負荷を低減することが可能となる。
Also, the
さらに、使用権限制御装置60が共有リソース30の使用権限を管理することにより、リアルタイムOSが管理する制御周期に同期してPE20−1、20−2、20−3間での共有リソース30の使用権限を切り替える必要がなくなり、PE20−1、20−2、20−3の共有リソース30の使用時間の粒度を細かくすることができる。このため、1制御周期内において、使用要求を出したPE20−1、20−2、20−3に対して少なくとも1回は共有リソース30の使用を可能としつつ、PE20−1、20−2、20−3の優先度に応じて共有リソース30の占有時間を異ならせることができ、マルチコアマイコンにおける処理のリアルタイム性を維持しつつ、共有リソース30の利用効率を向上させることが可能となる。
Furthermore, use of the shared
さらに、PE20−1、20−2、20−3は、共有リソース30の使用要求を使用要求レジスタ50に格納し、PE10は、使用要求レジスタ50に保持された要求状態に基づいてPE20−1、20−2、20−3からの共有リソース30の使用要求を受け付けることにより、PE20−1、20−2、20−3は、共有リソース30の使用権限が付与されるまで共有リソース30の使用要求を何度も出す必要がなくなるとともに、スピンロックに起因する演算効率の低下を抑制することができる。
Furthermore, the PEs 20-1, 20-2, 20-3 store the use request of the shared
以下、図1のマイコン1の構成について具体的に説明する。
PE10は、所定の命令セットアーキテクチャに従って作成されたプログラムを実行する1つ以上のCPUコア100−0、PE10に関連する割り込み要求を制御する割り込みコントローラ110−0、CPUコア100−0で実行されるプログラムからのアクセス要求に応じて、PE10とPE間接続バス40との間のアクセスを制御するバスインタフェース120−0、プログラムおよび/またはプログラム実行に必要なデータを格納するキャッシュメモリおよび/またはRAMメモリからなるPE内部メモリ130−0、共有リソース30のアクセス制御に必要なポリシ情報を格納する制御テーブル140を含む。
Hereinafter, the configuration of the
The
割り込みコントローラ110−0は割り込みコントローラ接続インタフェース111−0により、バスインタフェース120−0はバスインタフェース接続インタフェース121−0により、PE内部メモリ130はPE内部メモリ−CPUコア間接続インタフェース132−0により、それぞれCPUコア100−0との間で相互接続される。さらに、PE内部メモリ130−0はPE内部メモリ−バスインタフェース間接続インタフェース131−0により、制御テーブル140は制御テーブル接続インタフェース141により、それぞれバスインタフェース120−0との間で相互接続される。割り込みコントローラ110−0には、PE10に対する割り込み要求を示す信号として、少なくとも使用権限制御装置60が出力する使用権限制御割り込み信号61が入力される。なお、制御テーブル140は、PE内部メモリ130−0とは独立したメモリ、PE内部メモリ130−0の一部、もしくはPE間接続バス40に接続されたPE10外部のメモリ(図示せず)のいずれかとして構成されてもよい。
The interrupt controller 110-0 is provided by the interrupt controller connection interface 111-0, the bus interface 120-0 is provided by the bus interface connection interface 121-0, and the PE internal memory 130 is provided by the PE internal memory-CPU core connection interface 132-0. Interconnected with the CPU core 100-0. Further, the PE internal memory 130-0 is interconnected with the bus interface 120-0 by the PE internal memory-bus interface connection interface 131-0 and the control table 140 by the control
PE20−1は、PE10と共通の所定の命令セットアーキテクチャに従って作成されたプログラムを実行する1つ以上のCPUコア100−1、PE20−1に関連する割り込み要求を制御する割り込みコントローラ110−1、CPUコア100−1で実行されるプログラムからのアクセス要求に応じて、PE20−1とPE間接続バス40との間のアクセスを制御するバスインタフェース120−1、プログラム、および/またはプログラム実行に必要なデータを格納するキャッシュメモリおよび/またはRAMメモリからなるPE内部メモリ130−1を含む。割り込みコントローラ110−1は割り込みコントローラ接続インタフェース111−1により、バスインタフェース120−1はバスインタフェース接続インタフェース121−1により、PE内部メモリ130−1はPE内部メモリ−CPUコア間接続インタフェース132−1により、それぞれCPUコア100−1との間で相互接続される。さらに、PE内部メモリ130−1はPE内部メモリ−バスインタフェース間接続インタフェース131−1により、バスインタフェース120−1との間で相互接続される。割り込みコントローラ110−1には、PE20−1に対する割り込み要求を示す信号として、少なくとも使用権限制御装置60が出力する使用権限制御割り込み信号62−1が入力される。
The PE 20-1 includes one or more CPU cores 100-1 that execute a program created according to a predetermined instruction set architecture common to the
PE20−2、20−3もPE20−1同様に構成することができる。PE20−2、20−3の割り込みコントローラには、当該PE20−2、20−3に対する割り込み要求を示す信号として、少なくとも使用権限制御装置60が出力する使用権限制御割り込み信号62−2、62−3が入力される。使用権限制御割り込み信号62−1、62−2、62−3はPE20−1、20−2、20−3ごとに独立した信号である。
The PEs 20-2 and 20-3 can be configured similarly to the PE 20-1. At least the use authority control interrupt signal 62-2 and 62-3 output by the use
共有リソース30は、複数のPE20−1、20−2、20−3で動作するアプリケーションが、共有リソース管理プログラムの制御に従って時分割の態様で共有する資源である。共有リソース30は、例えば、マイコン1の外部に接続されたハードウェアとの通信を制御する通信モジュールのような、1つ以上のマイコン内蔵周辺モジュールや、PE10、20−1、20−2、20−3内部もしくは外部に接続された1つ以上のメモリのうちの少なくとも一部領域であってよい。説明を簡単にするため、共有リソース30は1つのみ図示するが、2つ以上であっても構わない。
The shared
図2は、図1の使用権限制御装置の構成例を示すブロック図である。
図2において、使用権限制御装置60は、PE間接続バス40を経由した使用権限制御装置60内部の制御レジスタに対するアクセスを制御するバスインタフェース600、4つのハードウェアタイマチャネル610−1、610−2、610−3、610−4、各ハードウェアタイマチャネル610−1、610−2、610−3、610−4に対するトリガ制御信号612−1、612−2、612−3、612−4を生成するトリガ制御部620、各PE10、20−1、20−2、20−3への使用権限制御割り込み信号61、62−1、62−2、62−3を生成する割り込み要求制御部630を含む。トリガ制御部620は、トリガ制御信号612−1、612−2、612−3、612−4をハードウェアタイマチャネル610−1、610−2、610−3、610−4ごとに独立して出力する。ハードウェアタイマチャネル610−1、610−2、610−3、610−4の個数は、共有リソース30を使用するアプリケーションが動作するサテライトPE数以上である。各ハードウェアタイマチャネル610−1、610−2、610−3、610−4はハードウェアタイマチャネル接続インタフェース611により、トリガ制御部620はトリガ制御部接続インタフェース621により、割り込み要求制御部630は割り込み要求制御部接続インタフェース631により、それぞれバスインタフェース600との間で相互接続される。
FIG. 2 is a block diagram showing a configuration example of the usage right control apparatus of FIG.
In FIG. 2, the usage
ハードウェアタイマチャネル610−1、610−2、610−3、610−4は、当該チャネルの動作状態を示すチャネル状態レジスタ615、現在のカウント値を保持する現カウント値レジスタ616、カウント開始時に現カウント値レジスタ616にロードする初期カウント値を保持する初期カウント値レジスタ617を、チャネルごとに独立に備える。各ハードウェアタイマチャネル610−1、610−2、610−3、610−4は、ハードウェアタイマチャネル接続インタフェース611からチャネル状態レジスタ615、現カウント値レジスタ616および初期カウント値レジスタ617へのアクセス要求に応答し、指定されたチャネル状態レジスタ615、現カウント値レジスタ616および初期カウント値レジスタ617への読み書きが実行されるよう構成する。各ハードウェアタイマチャネル610−1、610−2、610−3、610−4は、チャネル状態レジスタ615の内容により識別が可能な、少なくともカウント動作中およびカウント停止中の2つの状態を持ち、以下の機能を備える。
The hardware timer channels 610-1, 610-2, 610-3 and 610-4 are provided with a
(1)トリガ制御信号612−1、612−2、612−3、612−4が、自チャネルのカウント動作の開始を指示する場合には、初期カウント値レジスタ617の内容を現カウント値レジスタ616にロードし、チャネル状態レジスタ615の内容がカウント動作中を示す値となるよう更新する。この時、現カウント値レジスタ616の内容が、図示しない手段により事前に定義された下限値(例えばゼロ)より大きい場合に、所定の時間が経過するごとに現カウント値レジスタ616の内容をデクリメントする。
(1) When the trigger control signals 612-1, 612-2, 612-3, 612-4 instruct the start of the count operation of the own channel, the contents of the initial
(2)トリガ制御信号612−1、612−2、612−3、612−4が、自チャネルのカウント動作の停止を指示する場合には、チャネル状態レジスタ615の内容がカウント停止中を示す値となるよう更新し、現カウント値レジスタ616の内容を保持する。
(2) When trigger control signals 612-1, 612-2, 612-3, 612-4 instruct the termination of the count operation of the own channel, the value of the content of
(3)ハードウェアタイマチャネル610−1、610−2、610−3、610−4がカウント動作中、当該チャネルの現カウント値レジスタ616の内容が前記下限値以下であるか否かに応じてそれぞれ真/偽となる比較結果を、タイマ値比較結果信号613−1、613−2、613−3、613−4のうち自チャネルのタイマ値比較結果信号として出力する。 (3) While the hardware timer channel 610-1, 610-2, 610-3, 610-4 is counting, depending on whether the content of the current count value register 616 of the channel is equal to or less than the lower limit value. The comparison results that are true / false are output as timer value comparison result signals of the own channel among the timer value comparison result signals 613-1, 613-2, 613-3, and 613-4.
なお、カウント停止中のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対するカウント停止指示は無効な指示として無視する。また、カウント動作中のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対するカウント開始指示は、カウント動作を継続する有効な指示と解釈する。ただし、カウント開始指示に応じ改めて初期カウント値レジスタ617の内容を現カウント値レジスタ616にコピーするか否かを、図示しない手段により選択可能としてよい。
It should be noted that the count stop instruction for the hardware timer channels 610-1, 610-2, 610-3, and 610-4 whose count is stopped is ignored as an invalid instruction. Further, the count start instruction for the hardware timer channels 610-1, 610-2, 610-3, and 610-4 during the counting operation is interpreted as a valid instruction for continuing the counting operation. However, whether to copy the contents of the initial
トリガ制御部620は、1つ以上のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対し、同時にカウント開始を指示するビットマップ形式の開始トリガレジスタ625、同時にカウント停止を指示するビットマップ形式の停止トリガレジスタ626を備える。トリガ制御部620は、トリガ制御部接続インタフェース621から開始トリガレジスタ625および停止トリガレジスタ626へのアクセス要求に応答し、指定された開始トリガレジスタ625および停止トリガレジスタ626への書き込みが実行されるよう構成する。開始トリガレジスタ625への書き込み時、トリガ制御信号612−1、612−2、612−3、612−4のうち、カウント開始を指示するフィールド値(例えば、値1)を設定された1つ以上のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対し、当該チャネルへのトリガ出力を行うトリガ制御信号612−1、612−2、612−3、612−4としてカウント開始を指示する所定の信号を同時に出力する。それ以外のフィールド値(例えば、値0)を設定されたハードウェアタイマチャネル610−1、610−2、610−3、610−4に対しては、当該チャネルへのトリガ制御信号612−1、612−2、612−3、612−4としてチャネル状態の維持を指示する所定の信号を同時に出力する。
The
また、停止トリガレジスタ626への書き込み時、トリガ制御信号612−1、612−2、612−3、612−4のうち、カウント停止を指示するフィールド値(例えば、値1)を設定された1つ以上のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対し、当該チャネルへのトリガ出力を行うトリガ制御信号612−1、612−2、612−3、612−4としてカウント停止を指示する所定の信号を同時に出力する。それ以外のフィールド値(例えば、値0)を設定されたハードウェアタイマチャネル610−1、610−2、610−3、610−4に対しては、当該チャネルへのトリガ制御信号612−1、612−2、612−3、612−4としてチャネル状態の維持を指示する所定の信号を同時に出力する。
In addition, when writing to the
割り込み要求制御部630は、ハードウェアタイマチャネル610−1、610−2、610−3、610−4と、割り込み先となるPE10、20−1、20−2、20−3(すなわち、各PE10、20−1、20−2、20−3に接続される使用権限制御割り込み信号61、62−1、62−2、62−3)との関連付けを定義するチャネルマッピングレジスタ637、割り込み要求の対象となるイベント(以下、割り込み要求対象イベントと言う)の発生状態を割り込み先となるPE10、20−1、20−2、20−3ごと、かつ要因ごとに保持する割り込み要因レジスタ635、割り込み要求対象イベントが発生した場合に割り込み要求を許可するかどうかを割り込み先となるPE10、20−1、20−2、20−3ごと、かつ要因ごとに設定する割り込みイネーブルレジスタ636を備える。割り込み要求制御部630は、割り込み要求制御部接続インタフェース631から割り込み要因レジスタ635、割り込みイネーブルレジスタ636およびチャネルマッピングレジスタ637へのアクセス要求に応答し、指定された割り込み要因レジスタ635、割り込みイネーブルレジスタ636およびチャネルマッピングレジスタ637への読み書きが実行されるよう構成する。
The interrupt
割り込み要求対象イベントとして、各ハードウェアタイマチャネル610−1、610−2、610−3、610−4が出力するタイマ値比較結果信号613−1、613−2、613−3、613−4が偽から真に遷移、すなわちカウント動作中の当該ハードウェアタイマチャネル610−1、610−2、610−3、610−4において現カウント値が所定の下限値以下となったことを検出したものとする。この時、割り込み要求制御部630は、チャネルマッピングレジスタ637に設定された関連付け先となるPE10、20−1、20−2、20−3を特定し、当該PE10、20−1、20−2、20−3への割り込み要求対象イベントの発生状態を保持する割り込み要因レジスタ635において、使用権限付与期間終了イベントを示すフィールドに所定の値(例えば、値1)を設定する。
As interrupt request target events, timer value comparison result signals 613-1, 613-2, 613-3, and 613-4 output from the hardware timer channels 610-1, 610-2, 610-3, and 610-4 are displayed. Transition from false to true, ie, detection of the current count value falling below a predetermined lower limit value in the hardware timer channels 610-1, 610-2, 610-3, and 610-4 in counting operation. Do. At this time, the interrupt
当該PE10、20−1、20−2、20−3にて使用権限付与期間終了イベント発生時に割り込み要求を許可するよう、割り込みイネーブルレジスタ636に設定されている場合には、さらに使用権限制御割り込み信号61、62−1、62−2、62−3を経由し、当該PE10、20−1、20−2、20−3に対する割り込みを要求する。使用権限制御装置60からの割り込み要求を検出したPE10、20−1、20−2、20−3では、自PE内のいずれかのCPUコアで動作する割り込みハンドラの処理の一部として、処理本体の実行後には、割り込み要因レジスタ635への書き込みにより、使用権限付与期間終了イベント発生を示すフィールド値を無効な値(例えば、値0)に更新し、当該イベントによる割り込み要求を無効化する。
When the
ここで、PE20−1、20−2、20−3は使用権限制御装置60からの割り込みに基づいて共有リソース30を解放することができる。このため、共有リソース30の使用時間がPE20−1、20−2、20−3ごとに個別に設定されている場合においても、PE20−1、20−2、20−3が共有リソース30の使用時間を監視することなく、共有リソース30を解放することができ、PE20−1、20−2、20−3の負荷を低減することができる。
Here, the PEs 20-1, 20-2, and 20-3 can release the shared
図3は、図2の使用権限制御装置の変形例を示すブロック図である。使用権限制御装置60Aのうち、図2の使用権限制御装置60と同じ符号を持つ要素は共通であるため、説明の一部を省略する。
図3において、使用権限制御装置60Aは、PE間接続バス40を経由した使用権限制御装置60A内部の制御レジスタに対するアクセスを制御するバスインタフェース600、4つのハードウェアタイマチャネル610−1、610−2、610−3、610−4、ハードウェアタイマチャネル610−1、610−2、610−3、610−4に対するトリガ制御信号612−1、612−2、612−3、612−4を生成するトリガ制御部620、各PE10、20−1、20−2、20−3への使用権限制御割り込み信号61、62−1、62−2、62−3を生成する割り込み要求制御部630Aを含む。各ハードウェアタイマチャネル610−1、610−2、610−3、610−4はハードウェアタイマチャネル接続インタフェース611により、トリガ制御部620はトリガ制御部接続インタフェース621により、割り込み要求制御部630Aは割り込み要求制御部接続インタフェース631により、それぞれバスインタフェース600との間で相互接続される。
FIG. 3 is a block diagram showing a modification of the usage right control device of FIG. Among the usage
In FIG. 3, the usage
使用権限制御装置60Aのハードウェアタイマチャネル610−1、610−2、610−3、610−4およびトリガ制御部620の構成と機能は、使用権限制御装置60と共通である。
The configurations and functions of hardware timer channels 610-1, 610-2, 610-3, 610-4 and trigger
割り込み要求制御部630Aは、ハードウェアタイマチャネル610−1、610−2、610−3、610−4と割り込み先となるPE10、20−1、20−2、20−3(すなわち、各PE10、20−1、20−2、20−3に接続される使用権限制御割り込み信号61、62−1、62−2、62−3)との関連付けを定義するチャネルマッピングレジスタ637、割り込み要求対象イベントの発生状態を割り込み先となるPE10、20−1、20−2、20−3ごと、かつ要因ごとに保持する割り込み要因レジスタ635A、割り込み要求対象イベントが発生した場合に割り込み要求を許可するかどうかを割り込み先となるPE10、20−1、20−2、20−3ごと、かつ要因ごとに設定する割り込みイネーブルレジスタ636Aを備える。割り込み要求制御部630Aは、割り込み要求制御部接続インタフェース631から割り込み要因レジスタ635A、割り込みイネーブルレジスタ636Aおよびチャネルマッピングレジスタ637へのアクセス要求に応答し、指定された割り込み要因レジスタ635A、割り込みイネーブルレジスタ636Aおよびチャネルマッピングレジスタ637への読み書きが実行されるよう構成する。
The interrupt
本変形例では、各ハードウェアタイマチャネル610−1、610−2、610−3、610−4が出力するタイマ値比較結果信号613−1、613−2、613−3、613−4に加え、トリガ制御部620が出力するトリガ制御信号612−1、612−2、612−3、612−4のうち、少なくともカウント開始指示を識別できるトリガ制御信号についても割り込み要求対象イベントとする。割り込み要求対象イベントとして、タイマ値比較結果信号613−1、613−2、613−3、613−4が偽から真に遷移、すなわちカウント動作中の当該ハードウェアタイマチャネル610−1、610−2、610−3、610−4において現カウント値が所定の下限値以下となったことを検出したものとする。この時、割り込み要求制御部630Aは、チャネルマッピングレジスタ637に設定された関連付け先となるPE10、20−1、20−2、20−3を特定し、当該PE10、20−1、20−2、20−3への割り込み要求対象イベントの発生状態を保持する割り込み要因レジスタ635Aにおいて、使用権限付与期間終了イベントを示すフィールド値に所定の値(例えば、値1)を設定する。当該PE10、20−1、20−2、20−3にて使用権限付与期間終了イベント発生時に割り込み要求を許可するよう、割り込みイネーブルレジスタ636Aに設定されている場合には、さらに使用権限制御割り込み信号61、62−1、62−2、62−3を経由し、当該PE10、20−1、20−2、20−3に対する割り込みを要求する。
In this modification, in addition to the timer value comparison result signals 613-1, 613-2, 613-3, and 613-4 output by the hardware timer channels 610-1, 610-2, 610-3, and 610-4 Of the trigger control signals 612-1, 612-2, 612-3, and 612-4 output from the
加えて、割り込み要求対象イベントとして、トリガ制御信号612−1、612−2、612−3、612−4がカウント開始を指示する場合、割り込み要求制御部630Aは、チャネルマッピングレジスタ637に設定された関連付け先となるPE10、20−1、20−2、20−3を特定し、当該PE10、20−1、20−2、20−3への割り込み要求対象イベントの発生状態を保持する割り込み要因レジスタ635Aにおいて、使用権限付与期間開始イベントを示すフィールド値に所定の値(例えば、値1)を設定する。当該PE10、20−1、20−2、20−3にて使用権限付与期間開始イベント発生時に割り込み要求を許可するよう、割り込みイネーブルレジスタ636Aに設定されている場合には、さらに使用権限制御割り込み信号61、62−1、62−2、62−3を経由し、当該PE10、20−1、20−2、20−3に対する割り込みを要求する。
In addition, when the trigger control signals 612-1, 612-2, 612-3, and 612-4 are instructed to start counting as an interrupt request target event, the interrupt
使用権限制御装置60Aからの割り込み要求を検出したPE10、20−1、20−2、20−3では、自PE内のいずれかのCPUコアで動作する割り込みハンドラの処理の一部として、処理本体の実行に先立ち、割り込み要因レジスタ635Aの内容を読み出し、割り込み要因(使用権限付与期間開始または終了イベント)を特定する。処理本体の実行後には、割り込み要因レジスタ635Aへの書き込みにより、上記で特定したイベントの発生を示すフィールド値を無効な値(例えば、値0)に更新し、当該イベントによる割り込み要求を無効化する。
In the
ここで、PE20−1、20−2、20−3は使用権限制御装置60Aからの割り込みに基づいて、共有リソース30の使用を開始したり、共有リソース30を解放したりすることができる。このため、共有リソース30の使用開始タイミングや使用時間がPE20−1、20−2、20−3ごとに個別に設定されている場合においても、PE20−1、20−2、20−3が共有リソース30の使用状態を監視することなく、共有リソース30を排他的に使用することができる。このため、各PE20−1、20−2、20−3は、共有リソース30の使用の必要がある時に、共有リソース30の使用権限が得られるまで共有リソース30の使用要求を出し続ける必要がなくなり、PE20−1、20−2、20−3の負荷を低減することが可能となる。
Here, the PEs 20-1, 20-2, and 20-3 can start using the shared
なお、通常は2つの割り込み要因、すなわち使用権限付与期間の開始および終了イベントが同時に検出されることはなく、また割り込み要因レジスタ635Aの内容を参照することで割り込み要因を特定可能なため、PE10、20−1、20−2、20−3へ出力する使用権限制御割り込み信号61、62−1、62−2、62−3は複数のイベント間で共有してよい。また、カウント動作中のハードウェアタイマチャネル610−1、610−2、610−3、610−4に対するカウント開始要求については、図示しない手段によりマスクできるよう使用権限制御装置60Aを構成してもよい。
Normally, two interrupt factors, that is, the start and end events of the usage right grant period are not detected at the same time, and the interrupt factor can be identified by referring to the contents of the interrupt factor register 635A. The use authority control interrupt
図4は、図1のマイコンの変形例を示す図である。マイコン1Bのうち、図1に示すマイコン1と同じ符号をもつ要素は共通であるため、説明の一部を省略する。
図4において、マイコン1Bは、内蔵機能モジュールとして、さらにPE間割り込み制御装置70を含む。PE間割り込み制御装置70は、PE間接続バス40を介してPE10、20−1、20−2、20−3との間で相互接続される。PE間割り込み制御装置70は、各PE10、20−1、20−2、20−3からアクセス可能な制御レジスタを含む。割り込み要求元PEにおいては、自PEもしくは他PEに対する割り込みを要求し、割り込み要求先PEにおいては、割り込み要求元PEを特定する手段をそれぞれ備える。また、PE間割り込み制御装置70は、割り込み先PEごとに当該PEに対するPE間割り込み要求状態を示す、PE間割り込み信号71−0、71−1、71−2、71−3を独立した信号として出力し、それぞれPE10、20−1、20−2、20−3内の割り込みコントローラに入力される。
FIG. 4 is a view showing a modification of the microcomputer of FIG. Elements of the
In FIG. 4, the
ここで、PE間割り込み制御装置70は、PE20−1、20−2、20−3から共有リソース30の解放通知を受けると、リソース解放イベントの発生をPE10に通知することができる。PE10は、リソース解放イベントの発生通知を受け取ると、共有リソース30の使用要求を出しているPE20−1、20−2、20−3間で共有リソース30の使用の再スケジューリングを実行することができる。このため、共有リソース30の使用権限が付与されたPE20−1、20−2、20−3において、そのPE20−1、20−2、20−3に与えられた使用時間を使い切る前に共有リソース30が解放された場合においても、そのPE20−1、20−2、20−3に与えられた使用時間の経過を待つことなく、共有リソース30の使用要求を出しているPE20−1、20−2、20−3が共有リソース30を使用することが可能となり、共有リソース30の利用効率を向上させることが可能となる。
Here, when receiving the release notification of the shared
図5は、図1の制御テーブルの構成例を示す図である。
図5において、制御テーブル140は、PE10、20−1、20−2、20−3間での共有リソース30に関する制御ポリシを格納することができる。PE10は、共有リソース管理プログラムの実行時に制御テーブル140を参照することで、使用要求を受け付けたPE20−1、20−2、20−3間での共有リソース30の使用のスケジューリングを実行することができる。
FIG. 5 is a view showing a configuration example of the control table of FIG.
In FIG. 5, the control table 140 can store a control policy related to the shared
制御テーブル140は、共有リソース管理プログラムの実行により各PE10、20−1、20−2、20−3に対する共有リソース30の使用権限付与順序制御する際に、参照および更新する制御ポリシを格納する記憶領域である。制御テーブル140は、共有制御の対象PE10、20−1、20−2、20−3ごとに以下のフィールドを備える。
以下の説明を簡単にするため、特記なき場合は、マイコン1、1Bの備える複数のPE10、20−1、20−2、20−3のうち、最小のPE識別子をもつPE、すなわちPE0をPE10とし、PE識別子の昇順にPE1、PE2、PE3をそれぞれPE20−1、20−2、20−3とする。
The control table 140 stores a control policy to be referred to and updated when the use authority grant order control of the shared
In order to simplify the following description, unless otherwise specified, among the plurality of
(1)イネーブル(Enable、EN)フィールド:当該PE10、20−1、20−2、20−3に関する以下のフィールドの設定が有効かどうかを示すフィールドである。当該PE10、20−1、20−2、20−3上で動作するアプリケーションが共有リソース30の使用を要求し得る場合には有効に設定されなければならない。
(1) Enable (EN) field: This field indicates whether the settings of the following fields relating to the
(2)基本優先度(Priority、PR)フィールド:当該PE10、20−1、20−2、20−3に対し、共有リソース30の使用権限を付与する際の優先度を示すゼロまたは正の整数である。値が小さいほど優先度が高く、共有リソース30の使用権限の付与順序が早くなる。
(2) Basic priority (Priority, PR) field: Zero or a positive integer indicating the priority when granting the use authority of the shared
(3)制御周期内上限時間(Permitted Time、PT)フィールド:制御周期ごとに当該PE10、20−1、20−2、20−3へ付与可能な共有リソース使用時間の上限値である。絶対値または制御周期時間に対する割合のいずれかの指標に基づく値を設定する。いかなる時点においても、ENフィールドが有効な全PE10、20−1、20−2、20−3について本フィールドの設定値を加算した結果は、制御周期時間(絶対値を指標とする場合)または100%(割合を指標とする場合)を超えてはならない。本制約は、マイコン1、1Bの正常動作に必要な制約としてユーザに課してもよいし、共有リソース管理プログラムの備える機能の一部として動作時に制約違反の有無を検出させ、制約違反が検出された場合にはログ取得など所定のエラー処理を実行させてもよい。また、共有リソース管理に係る処理時間のばらつきによる制御エラーを補償するため、上記制約違反のチェックの際、制御周期時間(絶対値を指標とする場合)または100%(割合を指標とする場合)から所定の猶予時間または猶予率を減じた値と比較してもよい。
(3) Control period upper limit time (PT) field: an upper limit value of shared resource use time that can be assigned to the
(4)制御周期内権限再付与(Re−Grant、RG)フィールド:1つの制御周期において、当該PE10、20−1、20−2、20−3がPTフィールドの設定値を上限として、共有リソース30を複数回に分割して使用することを許可するかどうかを指定する。本フィールドはオプションとしてよく、その場合は分割使用の禁止が指定されたものと解釈する。
(4) Authority re-grant (Re-Grant, RG) field within a control cycle: In one control cycle, the
(5)制御周期内権限付与順序(Order、OR)フィールド:共有リソース管理プログラムが所定の順序決定アルゴリズムに基づき、制御周期ごとに更新するフィールドである。その設定値は、現制御周期における共有リソース使用権限付与の順序を示すゼロまたは正の整数であり、本フィールドに設定された値がゼロから昇順となるよう、各PE10、20−1、20−2、20−3に対し時分割で使用権を付与する。利用する順序決定アルゴリズムによっては本フィールドをオプションとしてよく、例えば、使用権限付与先PEを切り替える時点で1つ以上の共有リソース30の使用要求があった場合に、最も高い優先度を設定されたPEに対し動的に権限を付与し、共有リソース30の使用要求がなかった場合には、要求が発生するまで所定の周期で共有リソース30の使用要求をポーリングすればよい。
(5) Authority within the control cycle (Order, OR) field: This field is updated by the shared resource management program for each control cycle based on a predetermined order determination algorithm. The set value is zero or a positive integer indicating the order of granting the shared resource use authority in the current control cycle, and each
(6)制御周期内残り時間(Remaining Time、RT)フィールド:現制御周期において、当該PE10、20−1、20−2、20−3へ付与可能な共有リソース30の使用時間の残り時間を保持するフィールドである。時間の絶対値をハードウェアタイマチャネル610−1、610−2、610−3、610−4のデクリメント動作周期で除した値、すなわちハードウェアタイマチャネル610−1、610−2、610−3、610−4の初期カウント値レジスタ617または現カウント値レジスタ616に対し直接書き込み可能、または値の大小を直接比較可能な値に換算した正の整数値とすることができる。本フィールド値は、制御周期ごとにPTフィールドの値を上記の手順に従い換算した値でリセットし、あるPE10、20−1、20−2、20−3に対する共有リソース30の使用権限の付与期間が終了、もしくはPE10、20−1、20−2、20−3から共有リソース30の使用終了が通知されるごとに、当該PE10、20−1、20−2、20−3に関する本フィールド値を更新するよう制御される。新たに本フィールドに設定される更新値は、ゼロ、または現在の設定値から実際の共有リソース30の使用時間分を減じた残り時間に相当するカウント値であってよい。
(6) Remaining Time (RT) field in control cycle: Remaining time of use time of shared
(7)使用権限付与中フラグ(In−Use、IU)フィールド:当該PE10、20−1、20−2、20−3に対して共有リソース30の使用権限を付与中であるかどうかを示すフラグである。共有リソース管理プログラムが同時に使用権限を付与するPE数はたかだか1であり、PE数分の本フィールドのうち0または1つのフィールドのみ真となる。
(7) Use authority granting flag (In-Use, IU) field: A flag indicating whether or not the use authority of the shared
図6は、図1の使用要求レジスタの構成例を示す図である。なお、図6では、使用要求レジスタ50の内部構成、共有リソース30の使用要求の有無を要求元PEごとに保持するフラグ、およびフラグのセット/クリア手段に関するレジスタ間マッピングを示した。
図6において、使用要求レジスタ50は、PE間接続バス40を経由して各PE10、20−1、20−2、20−3からアクセス可能とされ、マイコン1、1Bの持つアドレス空間上の一部領域に配置することができる。使用要求レジスタ50は、相互にアドレスの異なる2つの使用要求レジスタバンク、すなわち使用要求レジスタバンク50−0(Bank−0)および使用要求レジスタバンク50−1(Bank−1)から構成される。
FIG. 6 is a diagram showing a configuration example of the use request register of FIG. Note that FIG. 6 shows the internal configuration of the
In FIG. 6, the
各使用要求レジスタバンク50−0、50−1の機能は、構成要素となる制御レジスタに割り当てられたアドレスの差異を除き、バンク間で共通である。2つの使用要求レジスタバンク50−0、50−1のうち、例えば、一方のバンクは現制御周期における共有リソース30の使用権限の付与制御のため、PE10上で動作する共通リソース管理プログラムが参照するバンク(以下、表バンク)、他方はPE20−1、20−2、20−3上で動作するアプリケーションからの、次制御周期における共有リソース30の使用権限の割り当て要求を蓄積するバンク(以下、裏バンク)として割り当て、制御周期ごとに表裏バンクを切り替えて使用してもよい。アプリケーションがアクセス先とする裏バンクのアドレス生成手続きを簡略化する目的で、表裏バンクの割り当て状態を識別するフラグを格納するレジスタ(図示せず)と、当該フラグの状態により表裏バンクのアドレス領域を入れ替えるアドレス変換部(図示せず)を使用要求レジスタ50内にさらに設けることで、バンクの割り当て状態によらず表裏バンクのアドレスを固定する機能を備えていてもよい。使用要求レジスタ50の一部または全部は専用に設計されたハードウェアモジュールとして実装してもよいし、少なくとも一部をマイコン1、1Bの内部もしくは外部に接続されたメモリに割り当ててもよい。また、実装上の制約により、使用要求レジスタ50を使用要求レジスタバンク50−0のみの1バンク構成としてもよい。1バンク、または2バンク構成時の各使用要求レジスタバンク50−0、50−1の使用方法については、共有リソース30の使用権限付与の詳細な制御フローとともに後述する。
The functions of the use request register banks 50-0 and 50-1 are common between the banks except for the difference in the addresses assigned to the control registers as the constituent elements. For example, one of the two use request register banks 50-0 and 50-1 is referred to by a common resource management program operating on the
使用要求レジスタバンク50−0、50−1は、共有リソース30の使用要求の有無を要求元PEごとに関するビットマップ形式で保持する使用要求フラグレジスタと、使用要求フラグレジスタに格納される使用要求フラグをPE10、20−1、20−2、20−3ごとに個別に、もしくは複数PE分を一括してセット/クリアする手段として、以下の制御レジスタを備える。
The use request register bank 50-0, 50-1 holds a use request flag register for holding the presence or absence of the use request of the shared
(1)共有リソース使用要求セットレジスタ520−0、520−1、520−2、520−3:それぞれPE10、20−1、20−2、20−3が共有リソース30の使用要求フラグをセットする際のインタフェースとなる32ビット幅のレジスタである。要求元PEごとに独立したレジスタSET_REQ_REG0(PE10からの要求用)、SET_REQ_REG1(PE20−1からの要求用)、SET_REQ_REG2(PE20−2からの要求用)、SET_REQ_REG3(PE20−3からの要求用)から構成される。各PE10、20−1、20−2、20−3上で動作し、共有リソース30の使用権限付与を要求するアプリケーションは、制御周期のうち所定のタイムウィンドウ内に、自PE用の共有リソース使用要求セットレジスタ520−0、520−1、520−2、520−3内のフラグセット要求フィールドSR0、SR1、SR2、SR3に値1を書き込む。各フラグセット要求フィールドSR0、SR1、SR2、SR3は、共有リソース使用要求フラグレジスタ510内にある、要求元PEごとに独立したフラグフィールドRQ0、RQ1、RQ2、RQ3にそれぞれマッピングされており、セット要求SRn(n=0、1、2、3)への値1の書き込みに応じてフラグRQn(n=0、1、2、3)が値1にセットされる。なお、本レジスタの読み出し時は常にゼロ値が読み出されるものとする。
(1) Shared resource use request set register 520-0, 520-1, 520-2, 520-3: PE10, 20-1, 20-2, 20-3 set the use request flag of the shared
(2)共有リソース使用要求フラグレジスタ510:それぞれPE10、20−1、20−2、20−3による共有リソース30の使用要求の有無をビットマップ形式で保持するフラグフィールドRQ0、RQ1、RQ2、RQ3を1つのレジスタに集約した、32ビット幅の読み出し専用レジスタFLG_REQ_REGである。PE10上で動作する共有リソース管理プログラムが読み出す。
(2) Shared resource use request flag register 510: Flag fields RQ0, RQ1, RQ2, and RQ3 that hold the presence / absence of use requests of the shared
(3)共有リソース使用要求クリアレジスタ530:それぞれPE10、20−1、20−2、20−3が共有リソース30の使用要求フラグをクリアする際のインタフェースとなる32ビット幅のレジスタCLR_REQ_REGである。PE10上で動作する共有リソース管理プログラムが書き込む。クリア対象とする共有リソース使用要求フラグレジスタ510のフラグフィールドRQ0、RQ1、RQ2、RQ3ごとに独立してマッピングされたクリア要求フィールドCR0、CR1、CR2、CR3が1つのレジスタに集約されており、クリア要求フィールドCRn(n=0、1、2、3)への値1の書き込みに応じてフラグフィールドRQn(n=0、1、2、3)が値0にクリアされる。なお、読み出し時は常にゼロ値が読み出される。
(3) Shared resource use request clear register 530: A 32-bit wide register CLR_REQ_REG serving as an interface when the
図7は、図4のPE間割り込み制御装置の構成例を示す図である。なお、図7では、PE間割り込み制御装置70の内部構成、PE間割り込み要求の有無を要求元/要求先PEの組み合わせごとに保持するフラグ、およびフラグのセット/クリア手段に関するレジスタ間マッピングを示した。
図7において、PE間割り込み制御装置70は、PE間接続バス40を経由して各PE10、20−1、20−2、20−3からアクセス可能とされ、マイコン1Bの持つアドレス空間上の一部領域に配置された複数の制御レジスタを含む。制御レジスタの一部または全部は専用に設計されたハードウェアモジュールとして実装してもよいし、少なくとも一部をマイコン1Bの内部もしくは外部に接続されたメモリに割り当ててもよい。PE間割り込み制御装置70は、PE間割り込みの有無を対象となる要求先PEごとに独立したレジスタに集約し、かつ要求元PEに関するビットマップ形式で保持する手段として、特定の要求元PEからの割り込み要求について要求先PEごとに個別に、もしくは複数の要求先PE分を一括してセットする手段として、また特定の要求先PEを対象とするPE間割り込み要求フラグについて要求元PEごとに個別に、もしくは複数の要求元PE分を一括してクリアする手段として、以下の制御レジスタを備える。
FIG. 7 is a view showing a configuration example of the inter-PE interrupt control device of FIG. FIG. 7 shows the internal configuration of the inter-PE interrupt
In FIG. 7, the inter-PE interrupt
(1)PE間割り込み要求セットレジスタ720−n(n=0、1、2、3):それぞれPE10、20−1、20−2、20−3を要求元PEとするPE間割り込み要求フラグをセットする際のインタフェースとなる32ビット幅のレジスタである。要求元PEごとに独立したレジスタSET_IPIR_REG0(PE10からの要求用)、SET_IPIR_REG1(PE20−1からの要求用)、SET_IPIR_REG2(PE20−2からの要求用)、SET_IPIR_REG3(PE20−3からの要求用)から構成される。各PE10、20−1、20−2、20−3上で動作し、自PEもしくは他PEに対し所定の形式に基づくメッセージ送信を要求するアプリケーションは、自PE(PEn)用のPE間割り込み要求セットレジスタ720−n(n=0、1、2、3)内のフラグセット要求フィールドSRn0、SRn1、SRn2、SRn3のうち、自PEからの割り込み要求先となるPEに対応する1つ以上のフィールドに値1を書き込む。
(1) Inter-PE interrupt request set register 720-n (n = 0, 1, 2, 3): An inter-PE interrupt request
PE間割り込み要求セットレジスタSET_IPIR_REGn(n=0、1、2、3)のフラグセット要求フィールドSRnm(m=0、1、2、3)は、割り込み要求先PEごとに集約されたPE間割り込み要求フラグレジスタFLG_IPIR_REGm(m=0、1、2、3)のフィールドRQnm(n=0、1、2、3)にマッピングされており、フラグセット要求フィールドSRnmへの値1の書き込みに応じてフィールドRQnmが値1にセットされる。なお、本レジスタの読み出し時は常にゼロ値が読み出されるものとする。
The flag set request field SRnm (m = 0, 1, 2, 3) of the inter-PE interrupt request set register SET_IPIR_REGn (n = 0, 1, 2, 3) is an inter-PE interrupt request aggregated for each interrupt request destination PE. It is mapped to the field RQnm (n = 0, 1, 2, 3) of the flag register FLG_IPIR_REGm (m = 0, 1, 2, 3), and the field RQnm according to the writing of the
(2)PE間割り込み要求フラグレジスタ710−m(m=0、1、2、3):それぞれPE10、20−1、20−2、20−3を要求先PEとするPE間割り込み要求フラグについて、要求元PEを識別可能なビットマップ形式で取得可能なインタフェースとなる32ビット幅の読み出し専用レジスタである。要求先ごとに独立したレジスタFLG_IPIR_REG0(マスタPE10への要求用)、FLG_IPIR_REG1(PE20−1への要求用)、FLG_IPIR_REG2(PE20−2への要求用)、FLG_IPIR_REG3(PE20−3への要求用)から構成される。通常、PE間割り込みを要求された側のアプリケーションが、自PE(PEm)を要求先とするPE間割り込みの要求元を特定する目的で、PE間割り込み要求フラグレジスタ710−m(m=0、1、2、3)からの読み出しを行う。また、PE間割り込み信号71−m(m=0、1、2、3)は、フィールドRQ0m、RQ1m、RQ2m、RQ3mの論理和として定義することができる。
(2) Inter-PE interrupt request flag register 710-m (m = 0, 1, 2, 3): An inter-PE interrupt request flag for which
(3)PE間割り込み要求クリアレジスタ730−m(m=0、1、2、3):それぞれPE10、20−1、20−2、20−3を要求先PEとするPE間割り込み要求フラグをクリアする際のインタフェースとなる32ビット幅のレジスタである。要求先PEごとに独立したレジスタCLR_IPIR_REG0(PE10への要求用)、CLR_IPIR_REG1(PE20−1への要求用)、CLR_IPIR_REG2(PE20−2への要求用)、CLR_IPIR_REG3(PE20−3への要求用)から構成される。通常、PE間割り込みを要求された側のアプリケーションが、自PE(PEm)を要求先とするPE間割り込みのうち、処理を完了した1つ以上のPE(PEn)からの割り込み要求をクリアする目的で、PE間割り込み要求クリアレジスタ730−m(m=0、1、2、3)への書き込みを行う。PE間割り込み要求クリアレジスタCLR_IPIR_REGm(m=0、1、2、3)のフィールドCRnm(n=0、1、2、3)は、PE間割り込み要求フラグレジスタFLG_IPIR_REGm(m=0、1、2、3)のフィールドRQnm(n=0、1、2、3)にマッピングされており、フィールドCRnmへの値1の書き込みに応じてフィールドRQnmが値0にクリアされる。なお、本レジスタの読み出し時は常にゼロ値が読み出されるものとする。
(3) Inter-PE interrupt request clear register 730-m (m = 0, 1, 2, 3): An inter-PE interrupt request flag with
以下、制御ポリシに基づき共有リソース使用権限の付与制御を実現するにあたり、制御の時間単位となる制御周期と、共有リソース30の使用要求を受け付けるタイムウィンドウとの関係に着目した2つの主要な制御モデルを説明する。
The following are two main control models that focus on the relationship between the control period, which is a unit of control time, and the time window for accepting the use request of the shared
図8(a)および図8(b)は、図1のマイコンの制御周期と共有リソース使用要求タイムウィンドウとの関係を示すタイミングチャートである。
図8(a)および図8(b)において、制御周期(Control Period)とはマイコン1、1B上で動作するアプリケーション、もしくはアプリケーションの実行環境を提供するリアルタイムOSが時間管理の基準とするシステムクロック(Tick)に基づき生成される固定の時間周期である。アプリケーションまたは/およびリアルタイムOSの動作は、原則として制御周期を単位として制御される。制御周期よりも時間粒度の小さいリソース共有制御を実現するため、共有リソース30の使用権限付与に係る制御状態や制御パラメータの少なくとも一部は制御周期ごとに再設定(初期化)されること、共有リソース30の使用権限の付与期間は単一の制御周期内で完結し、複数の制御周期に跨る権限付与は行わないこと、特定の制御周期における共有リソース30の使用権限付与を要求した1つ以上のPE10、20−1、20−2、20−3それぞれに対し、当該制御周期内に少なくとも1回の使用権限付与がなされるよう共有制御を行うこと、を制約として課してもよい。なお、以下の説明では、PE10上で実行されるアプリケーションが共有リソース30の使用を要求することはない前提としているが、制御ポリシに基づく使用権限付与制御の一般性が失われることはない。
FIGS. 8A and 8B are timing charts showing the relationship between the control cycle of the microcomputer shown in FIG. 1 and the shared resource use request time window.
8 (a) and 8 (b), the control period (Control Period) refers to the application operating on the
図8(a)は、使用要求レジスタ50が使用要求レジスタバンク50−0のみの1バンク構成をとる場合の制御モデルである。本制御モデルでは、PE20−1、20−2、20−3からの共有リソース30の使用権限割り当て要求の蓄積と、共有リソース管理プログラムからの要求状態の参照との間で、1つの使用要求レジスタバンク50−0を時分割で共有する。そのため、各制御周期の先頭から指定された期間のみ、当該制御周期内の共有リソース使用要求Rを受け付けるための使用要求受け付けウィンドウ期間Wを設定する。使用権限の割り当てを必要とするPE20−1、20−2、20−3は、使用要求受け付けウィンドウ期間W内に使用要求レジスタバンク50−0の共有リソース使用要求セットレジスタ520−1、520−2、520−3を介して、共有リソース使用要求フラグレジスタ510の要求フラグをセットする。使用要求受け付けウィンドウ期間W内に1つ以上の使用権限割り当て要求があった場合、PE10で動作する共有リソース管理プログラムは、制御テーブル140に規定される制御ポリシに基づき、現制御周期における使用権限の付与順序の決定Aを行う。
FIG. 8A shows a control model when the
続いて、決定した付与順序に従って、次に使用権限を付与するPE20−1、20−2、20−3を特定し、権限付与時間の管理に必要となる使用権限制御装置60、60A内のハードウェアタイマチャネル610−2、610−3、610−4の設定および起動Sを行う。権限付与対象となったPE20−1、20−2、20−3は、自PEに関連付けられたハードウェアタイマチャネル610−2、610−3、610−4の動作状態のポーリング、もしくは自PEに出力された使用権限制御割り込み信号62−1、62−2、62−3を経由した権限付与開始割り込みの検出により、自PEに共有リソース30の使用権限が付与されたことを認識し、共有リソース30を利用するアプリケーションの実行Uを行う。共有リソース管理プログラムの制御により、使用権限が付与されたPE20−1、20−2、20−3は自PEへの権限付与終了割り込みを検出するまでの期間、共有リソース30を占有することができる。
Subsequently, according to the determined order of assignment, the PEs 20-1, 20-2 and 20-3 to which the usage right is to be granted next are identified, and the hardware in the usage
例えば、制御周期(n−1)では、使用要求受け付けウィンドウ期間W内に2つのPE20−1、20−3から共有リソース使用要求Rがあったものとすると、制御周期(n−1)内にPE20−1、20−3に共有リソース30の使用権限が時分割的に割り当てられる。そして、PE20−1、20−3は、制御周期(n−1)内に共有リソース30を排他的に使用することでアプリケーションの実行Uを行う。また、制御周期(n)では、使用要求受け付けウィンドウ期間W内に3つのPE20−1、20−2、20−3から共有リソース使用要求Rがあったものとすると、制御周期(n)内にPE20−1、20−2、20−3に共有リソース30の使用権限が時分割的に割り当てられる。そして、PE20−1、20−2、20−3は、制御周期(n)内に共有リソース30を排他的に使用することでアプリケーションの実行Uを行う。
For example, in the control cycle (n−1), if there is a shared resource use request R from two PEs 20-1 and 20-3 within the use request acceptance window period W, the control cycle (n−1) The authority to use the shared
これにより、各制御周期(n−1)、(n)よりも時間粒度の小さいリソース共有制御が実現可能となるとともに、制御周期(n−1)、(n)ごとにリソース共有制御の時間粒度を変化させることが可能となる。このため、例えば、制御周期(n−1)内に共有リソース使用要求Rを出したPE20−1、20−3において、その制御周期(n−1)内にPE20−1に共有リソース30の使用権限が割り当てられた場合においても、PE20−3は、その制御周期(n−1)内に共有リソース30の使用権限を取得することができ、制御周期(n−1)より後の制御周期(n)、(n+1)までアプリケーションの実行Uを待機する必要がなくなることから、PE20−3の演算効率を向上させることが可能となる。なお、より詳細な制御フローについては、別図とともに改めて説明する。
This makes it possible to realize resource sharing control with a smaller time granularity than each control cycle (n-1), (n), and to provide resource sharing control time granularity for each control cycle (n-1), (n). Can be changed. Therefore, for example, in the PEs 20-1 and 20-3 that have issued the shared resource use request R in the control cycle (n-1), use of the shared
図8(b)は、使用要求レジスタ50が使用要求レジスタバンク50−0、50−1の2バンク構成をとる場合の制御モデルである。本制御モデルでは、PE20−1、20−2、20−3からの共有リソース30の使用権限割り当て要求蓄積と、共有リソース管理プログラムからの要求状態の参照にそれぞれ異なる使用要求レジスタバンク50−0、50−1を割り当て可能であり、図8(a)で説明した使用要求レジスタバンク50−0の時分割共有は不要となる。そのため、特定の制御周期(Control Period(n))について、その全体を次制御周期(Control Period(n+1))内の共有リソース使用要求Rを受け付けるための使用要求受け付けウィンドウ期間W(n+1)として設定することができる。使用権限の割り当てを必要とするPE20−1、20−2、20−3は、使用要求受け付けウィンドウ期間W(n+1)間内に使用要求レジスタバンク50−0、50−1のうち裏バンク側の共有リソース使用要求セットレジスタ520−1、520−2、520−3を介して、共有リソース使用要求フラグレジスタ510の要求フラグをセットする。各制御周期の先頭で使用要求レジスタ50−0、50−1の表/裏バンクを切り替えた結果として、表バンク側に1つ以上の使用権限割り当て要求があった場合、PE10で動作する共有リソース管理プログラムは、制御テーブル140に規定される制御ポリシに基づき、制御周期(n+1)における使用権限の付与順序の決定Aを行う。
FIG. 8B shows a control model when the
続いて、決定した付与順序に従って、次に使用権限を付与するPE20−1、20−2、20−3を特定し、権限付与時間の管理に必要となる使用権限制御装置60、60A内のハードウェアタイマチャネル610−2、610−3、610−4の設定および起動Sを行う。権限付与対象となったPE20−1、20−2、20−3は、自PEに関連付けられたハードウェタイマチャネル610−2、610−3、610−4の動作状態のポーリング、もしくは自PEに接続された使用権限制御割り込み信号62−1、62−2、62−3を経由した権限付与開始割り込みの検出により、自PEに共有リソース30の使用権限が付与されたことを認識し、共有リソース30を利用するアプリケーションの実行Uを行う。共有リソース管理プログラムの制御により、使用権限が付与されたPE20−1、20−2、20−3は自PEへの権限付与終了割り込みを検出するまでの期間、共有リソース30を独占することができる。
Subsequently, according to the determined order of assignment, the PEs 20-1, 20-2 and 20-3 to which the usage right is to be granted next are identified, and the hardware in the usage
本制御モデルでは、制御周期を単位とするソフトウェアパイプラインの態様でアプリケーションを実行できるため、図8(a)の制御モデルと比較し、既存アプリケーションを本制御モデルに適合させるために必要な移植作業を削減することができる。なお、より詳細な制御フローについては、別図とともに改めて説明する。 In this control model, an application can be executed in the form of a software pipeline with a control cycle as a unit. Therefore, compared with the control model in FIG. 8A, porting work required to adapt an existing application to this control model. Can be reduced. A more detailed control flow will be described again with another figure.
以下、制御ポリシに基づく共有リソース使用権限の付与制御に関し、4つの典型的な制御フローについて詳細に説明する。 Hereinafter, four typical control flows will be described in detail with regard to grant control of shared resource use authority based on control policy.
<第1の共有リソース使用権限付与制御フロー>
図9〜図11は、第1実施形態に係るマイコンの共有リソース使用権限付与の動作を示すフローチャートである。
<First shared resource use authorization control flow>
9 to 11 are flowcharts showing the operation of giving the shared resource use right of the microcomputer according to the first embodiment.
第1の共有リソース使用権限付与制御フローでは、以下の場合について例示する。
(1)使用要求レジスタ50は1バンク(使用要求レジスタバンク50−0のみ)構成とし、使用要求レジスタバンクS30とする。
The first shared resource use authorization control flow exemplifies the following case.
(1) The
(2)使用権限制御装置は60または60Aのいずれかの構成とし、全PEについて使用権限付与期間終了イベント発生時の割り込み要求を許可に設定する。 (2) The usage authority control device is configured to be either 60 or 60A, and sets an interrupt request when a usage authority grant period end event occurs for all PEs to be permitted.
(3)制御テーブル140の設定に関し、マスタPE(PE0)の基本優先度(PR)フィールドをゼロ(優先度最高)、制御周期内上限時間(PT)フィールドを使用要求受け付けウィンドウ期間に換算可能な値に設定し、さらに、マスタPE(PE0)および全サテライトPE(PE1、PE2、PE3)について制御周期内権限再付与(RG)フィールドを無効に、それぞれ設定する。 (3) Regarding the setting of the control table 140, the basic priority (PR) field of the master PE (PE0) can be converted to zero (highest priority), and the upper limit time (PT) field in the control cycle can be converted into a use request reception window period. It is set to a value, and furthermore, the in-control-period reauthorization (RG) field is set to be invalid for each of the master PE (PE0) and all satellite PEs (PE1, PE2, PE3).
(4)各制御周期の先頭から所定の時間のみ、使用要求受け付けウィンドウ期間Wとして設定し、当該制御周期内に共有リソース30の使用権限付与を必要とするサテライトPEからの共有リソース使用要求を受け付ける。
(4) Only a predetermined time from the beginning of each control cycle is set as a use request acceptance window period W, and a shared resource use request from a satellite PE that requires the use authorization of the shared
(5)使用権限の付与開始タイミングの通知は、各サテライトPE上で動作するアプリケーションから、使用権限制御装置60、60Aの備える、自PEに関連付けられたハードウェアタイマチャネルの動作状態をポーリングすることで実現する。
(5) Notification of the use authority grant start timing is to poll the operation state of the hardware timer channel associated with the own PE provided in the use
(6)使用権限の付与終了タイミングの通知は、各サテライトPE上で動作するアプリケーションに対し、使用権限制御装置60、60Aから使用権限付与期間終了イベント発生に伴う割り込みを要求することで実現する。
(6) Notification of use authority grant end timing is realized by requesting an interrupt associated with the use authority grant period end event from the use
第1サテライトPEであるPEnには、使用権限制御装置60、60Aの備えるハードウェアタイマチャネルS41が関連付けられ、少なくともPEnおよびPEn上で動作するアプリケーションS40への共有リソース使用権限付与の終了タイミングを制御する。マスタPE(PE0)についても同様に、ハードウェアタイマチャネルS41とは独立したハードウェアタイマチャネルS11が関連付けられ、PE0上で動作する共有リソース管理プログラムS10による共有制御処理の一部として、使用要求受け付けウィンドウ期間Wを計測する目的で、さらに望ましくは、使用権限を保持するサテライトPEに関連付けられたハードウェアタイマチャネルの状態および動作を複製(レプリケーション)したレプリカとして、利用する。
The PEn which is the first satellite PE is associated with the hardware timer channel S41 included in the usage
PEn上で動作するアプリケーションS40は、1バンク構成の使用要求レジスタバンクS30内の要求フラグをセットする。共有リソース管理プログラムS10は、使用要求レジスタバンクS30に蓄積された共有リソース使用要求、および制御テーブルS20に設定された制御情報をそれぞれ参照/更新しながら、使用権限付与順序の決定と使用権限制御装置60、60Aの制御を行う。共有制御の開始に先立ち、制御テーブルS20は適切に設定されているものとする。
The application S40 operating on PEn sets the request flag in the use request register bank S30 of 1-bank configuration. The shared resource management program S10 determines the usage authority assignment order and the usage authority control device while referring to / updates the shared resource usage request stored in the usage request register bank S30 and the control information set in the control table S20.
図9において、共有リソース管理プログラムS10が、図示しないハードウェアもしくはソフトウェア手段を用いて制御周期の開始タイミングを検出すると、以下の初期化処理S1001を順次実行する。 In FIG. 9, when the shared resource management program S10 detects the start timing of the control cycle using hardware or software means (not shown), the following initialization processing S1001 is sequentially executed.
(1)使用権限制御装置60、60Aが備える停止トリガレジスタ626への書き込みにより、全ハードウェアタイマチャネルS11、S41の同時停止を要求(T1001、T1002)する。停止要求を受けたPE0およびPEn用のハードウェアタイマチャネルS11、S41は、それぞれ停止状態(S1101、S4101)となる。
(1) Simultaneous stop of all the hardware timer channels S11 and S41 is requested (T1001 and T1002) by writing to the
(2)使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより全PEの使用要求フラグをクリアし、さらに共有リソース使用要求セットレジスタ520−0への書き込みによりPE0の使用要求フラグをセットすることで、PE0の使用要求フラグのみ有効な状態(S3001)となるよう、共有リソース使用要求フラグレジスタ510の内容を更新(T1003)する。
(2) The use request flag of all PEs is cleared by writing to the shared resource use request
(3)制御テーブルS20の全PEについて、使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1004)し、制御周期内残り時間(RT)フィールド値は、制御周期内上限時間(PT)フィールド値からハードウェアタイマチャネルS11、S41内のカウントレジスタに設定可能な値に変換した値(以下、換算値と呼ぶ)に更新(T1005)することで、制御周期開始時点での制御テーブルS20の初期状態(S2001)とする。 (3) For all the PEs in the control table S20, the use authority granting flag (IU) field value is cleared (set to false) (T1004), and the remaining time in the control cycle (RT) field value is the upper limit time in the control cycle. By updating (T1005) from the (PT) field value to a value (hereinafter referred to as a converted value) converted to a value that can be set in the count registers in the hardware timer channels S11 and S41, control at the start of the control cycle is performed. The initial state (S2001) of the table S20 is assumed.
(4)各PEに関連付けられたハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に対し、制御テーブルS20の制御周期内残り時間(RT)フィールド値をそれぞれ設定(T1006、T1007)する。本時点では、PE0用ハードウェアタイマチャネルS11には、使用要求受け付けウィンドウ期間Wに相当する値が設定される。 (4) The remaining time (RT) field value in the control period of the control table S20 is set to the initial count value register 617 of the hardware timer channels S11 and S41 associated with each PE (T1006 and T1007). At this point in time, a value corresponding to the use request acceptance window period W is set in the hardware timer channel S11 for PE0.
(5)制御周期の先頭において、PE0に対する共有リソース使用権限付与の態様で使用要求受け付けウィンドウ期間Wを実現する目的で、PE0用ハードウェアタイマチャネルS11を動作させるため、PE0の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1008)し、制御テーブルS20の状態を、PE0が使用権限を保持している状態S2002に更新する。本処理は、PE0の基本優先度設定が最高であることと組み合わせることで、PE0とそれ以外のPEnに対する共有リソース使用権限付与に係る処理を共通化し、使用要求受け付けウィンドウ期間W以前にPE0以外のPEnに対して使用権限が付与されるのを抑止するために有効なオプション処理である。 (5) At the beginning of the control cycle, in order to operate the PE0 hardware timer channel S11 for the purpose of realizing the use request acceptance window period W in the form of granting the shared resource use authority to PE0, the PE0 use authority granting flag (IU) The field value is set (set to true) (T1008), and the state of the control table S20 is updated to the state S2002 in which PE0 holds the use authority. This processing combines processing relating to granting shared resource usage authority to PE0 and other PEn in common by combining with the basic priority setting of PE0 being highest, and other than PE0 before usage request acceptance window period W This is an optional process that is effective for suppressing the granting of usage rights to PEn.
(6)使用権限制御装置60、60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11の起動を要求(T1009)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態S1102へと遷移し、現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。
(6) The activation of the PE0 hardware timer channel S11 is requested (T1009) by writing to the
共有リソース管理プログラムS10と同様の手段により制御周期の開始タイミングを検出した、PEn上で動作するアプリケーションS40は、制御周期内に実行すべき処理に関する初期化等、所定の前処理を実行(S4001)する。実行すべき処理が共有リソース使用権限の付与を必要とする場合には、前処理の少なくとも一部として、使用要求受け付けウィンドウ期間W内、すなわちPE0用ハードウェアタイマチャネルS11のカウント動作中に、使用要求レジスタバンクS30内にあるPEn用共有リソース使用要求セットレジスタへの書き込みにより、PEnの使用要求フラグをセット(T4001)する。 The application S40 operating on the PEn, which has detected the control cycle start timing by means similar to the shared resource management program S10, executes predetermined preprocessing such as initialization related to processing to be executed within the control cycle (S4001). Do. If the process to be executed requires the assignment of shared resource use authority, it is used as part of the pre-processing within the use request acceptance window period W, that is, while counting the hardware timer channel S11 for PE0. The use request flag of PEn is set (T4001) by writing to the PEn shared resource use request set register in the request register bank S30.
また、図示しないが、同じ使用要求受け付けウィンドウ期間W内に、PEnとは異なるサテライトPE(PEmとする)上で動作するアプリケーションも、同様の手順により、PEmの使用要求フラグをセットするものとする。この結果、使用要求受け付けウィンドウ期間W終了の時点で、使用要求レジスタバンクS30には、PE0、PEnおよびPEmの使用要求フラグがセットされた状態S3002となる。 Although not shown in the figure, an application operating on a satellite PE (PEm) different from PEn within the same use request acceptance window period W also sets the PEm use request flag in the same procedure. . As a result, at the end of the use request acceptance window period W, the use request flags of PE0, PEn and PEm are set in the use request register bank S30, and the state S3002 is reached.
前処理を完了したPEn上のアプリケーションS40は、PEnへの共有リソース使用権限の付与待ち処理S4002の少なくとも一部として、図9および図10に示すように、PEn用ハードウェアタイマチャネルS41のチャネル状態レジスタ615を所定の周期でポーリング(T4002、T4003、T4004)する。PEnへ使用権限が付与済みである、すなわち共有リソース管理プログラムS10の指示によりハードウェアタイマチャネルS41が起動し、チャネル状態レジスタ615がカウント動作中であることを示す値となるまで、アプリケーションS40はポーリング動作を反復する。
As shown in FIGS. 9 and 10, the application S40 on the PEn that has completed the pre-processing, as at least a part of the waiting process S4002 for granting the shared resource use authority to the PEn, indicates the channel state of the hardware timer channel S41 for PEn. The
一方、カウント動作状態にあるPE0用ハードウェアタイマチャネルS11は、使用要求受け付けウィンドウ期間W、所定の時間経過ごとに現カウント値レジスタ616の内容をデクリメントする。現カウント値レジスタ616の内容が、事前に定義された下限値以下となったことを検出すると、使用権限制御装置60、60Aは、割り込み要求制御部630、630Aが備える割り込み要因レジスタ635、635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を真にセットする。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、使用権限制御割り込み信号61により当該イベントを要因とする割り込みをPE0に要求(T1101)する。
On the other hand, the hardware timer channel S11 for PE0 in the count operation state decrements the contents of the current count value register 616 every time a use request acceptance window period W and a predetermined time elapse. When it is detected that the contents of the current
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求を検出した共有リソース管理プログラムS10は、使用要求受け付けウィンドウ期間Wの終了に係る一連の処理S1002を順次実行する。 The shared resource management program S10 that has detected an interrupt request caused by the use authority grant period end event by the PE0 hardware timer channel S11 sequentially executes a series of processes S1002 related to the end of the use request acceptance window period W.
(1)使用権限制御装置60、60Aの割り込み要求制御部630、630Aが備える割り込み要因レジスタ635、635Aにおいて、PE0用ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、チャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1010)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1103へ遷移する。
(1) In the interrupt factor registers 635 and 635A included in the interrupt
(2)PE0に対する共有リソース使用権限付与の態様で実装した、使用要求受け付けウィンドウ期間W終了に伴い、PE0の使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1011)し、制御テーブルS20の状態を、どのPE0、PEn、PEmも使用権限を保持していない状態S2003に更新する。なお、処理T1011は処理T1008と対になるものであり、処理T1008を省略した場合は、処理T1011も同様に省略してよい。 (2) With the end of the use request acceptance window period W implemented in the shared resource use authorization aspect for PE0, clear (set to false) the in-use grant flag (IU) field value of PE0 (T1011), The state of the control table S20 is updated to a state S2003 in which no PE0, PEn, and PEm hold the use authority. The process T1011 is paired with the process T1008, and when the process T1008 is omitted, the process T1011 may be omitted as well.
(3)続いて、PE0の制御周期内権限再付与(RG)フィールドの設定に応じ、PE0の制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PE0に対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1012)する。 (3) Subsequently, the remaining time (RT) field value in PE0 is updated in accordance with the setting of the reauthorization (RG) field in PE0. In this control flow, the RG field is set to be invalid (prohibition of re-applying), and in this case, the RT field value is converted to the remaining time zero so that use authorization to PE0 is not performed erroneously again. Update to value (T1012).
(4)PE0の制御周期内残り時間がゼロとなった場合、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PE0の使用要求フラグをクリア(T1013)する。この結果、使用要求レジスタバンクS30は、PEnおよびPEmの使用要求フラグがセットされた状態S3003となる。
(4) If the remaining time in the control cycle of PE0 becomes zero, the use request flag of PE0 is cleared (T1013) by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、図10に示すように、使用要求レジスタバンクS30の備える共有リソース使用要求フラグレジスタ510を読み出し(T1014)、使用要求受け付けウィンドウ期間Wに蓄積された共有リソース使用要求の有無をチェック(S1003)する。1以上の使用要求があった場合には、図22に示すフローに基づき、共有リソース使用権限の付与順序を一括して決定(S1004)し、制御テーブルS20のうち、少なくとも共有リソース30の使用を要求した全PEについて、決定した付与順序を特定する値を制御周期内権限付与順序(OR)フィールドに設定する(T1015)。さらに望ましくは、共有リソース30の使用要求なし、制御テーブルS20内の制御ポリシ設定が無効などの所定の理由により、現制御周期における共有リソース使用権限付与の対象外となったPEについては、付与対象外であることを示す特定の値を、当該PEのORフィールドに設定してよい。
Subsequently, as shown in FIG. 10, the shared resource management program S10 reads the shared resource use
以降、共有リソース管理プログラムS10は、処理S1004で決定した共有リソース使用権限の付与順序に従って、付与対象となるサテライトPEに対し共有リソース30の使用権限を付与する。具体的な手順は以下のとおりである。
Thereafter, the shared resource management program S10 grants the use authority of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次(または最初)に使用権限を付与すべきサテライトPEを特定(S1005)する。特定したPE(PEnとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1016)し、制御テーブルS20の状態を、PEnが使用権限を保持している状態S2004に更新する。 (1) Referring to the in-control-cycle authorization granting order (OR) field of the control table S20, the satellite PE to be granted the usage authorization next (or first) is specified (S1005). The in-use granting flag (IU) field value of the identified PE (referred to as PEn) is set (set to true) (T1016), and the state of the control table S20 is changed to the state S2004 in which the PEn holds the use right. Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEn用ハードウェアタイマチャネルS41のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEnの制御周期内残り時間(RT)フィールド値を、ハードウェアタイマチャネルS11の初期カウント値レジスタ617に設定(T1017)する。 (2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel S41 for PEn to which the next usage authorization is given, the remaining time within the control cycle of PEn in the setting of the control table S20 ( RT) A field value is set in the initial count value register 617 of the hardware timer channel S11 (T1017).
(3)使用権限制御装置60、60Aが備える開始トリガレジスタ625への書き込みにより、PE0およびPEn用ハードウェアタイマチャネルS11、S41の同時起動を要求(T1018、T1019)する。起動要求を受けたハードウェアタイマチャネルS11、S41はそれぞれ動作状態(S1104、S4102)に遷移し、いずれも当該ハードウェアタイマチャネルS11、S41の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。ここで、ハードウェアタイマチャネルS41がカウント動作状態であることと、共有リソース使用権限をPEnに対し付与中であることは等価であり、2つのハードウェアタイマチャネルS11、S41は同期してデクリメント動作を行う。
(3) The simultaneous activation of the hardware timer channels S11 and S41 for PE0 and PEn is requested (T1018 and T1019) by writing to the
PEnへの共有リソース使用権限の付与待ち処理S4002の少なくとも一部として、PEn用ハードウェアタイマチャネルS41のチャネル状態レジスタ615を所定の周期でポーリング(T4004)していたアプリケーションS40は、ハードウェアタイマチャネルS41のカウント動作状態、すなわちPEnへの使用権限が付与済みであることを示す状態を検出すると、共有リソース30の使用を伴う処理S4003を実行する。アプリケーションS40は、ハードウェアタイマチャネルS41がカウント動作状態の期間、共有リソース30を占有して使用可能である一方、使用権限の付与終了タイミングを通知する権限付与期間終了イベントを要因とする割り込み要求が発生するまでには、処理S4003を終了しなければならないものとする。
The application S40 polling (T4004) the
PE0およびPEn用ハードウェアタイマチャネルS11、S41が同時起動要求(T1018、T1019)によりカウント動作状態に遷移した後、各ハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に設定された時間、すなわち制御テーブルS20内のPEnに割り当て可能な制御周期内残り時間(RT)フィールドに指定された時間が経過すると、使用権限制御装置60、60Aの割り込み要求制御部630、630Aが備える割り込み要因レジスタ635、635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間終了イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、ハードウェアチャネルS11、S41は、当該イベントを要因とし使用権限付与期間の終了を通知する割り込みを、使用権限割り込み信号を経由し、それぞれPE0(T1102)、PEn(T4101)に対し同時に要求する。
The time set in the initial count value register 617 of each hardware timer channel S11, S41 after the hardware timer channels S11, S41 for PE0 and PEn transit to the count operation state by the simultaneous start request (T1018, T1019), ie, When the time designated in the control cycle remaining time (RT) field assignable to PEn in the control table S20 has elapsed, the interrupt factor register 635 included in the interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間終了イベントを要因とする割り込み要求を検出したアプリケーションS40は、図11に示すように、使用権限付与期間終了に係る処理S4004を実行する。 The application S40 that has detected an interrupt request caused by the use authority grant period end event by the hardware timer channel S41 for PEn executes a process S4004 related to the end of the use authority grant period as shown in FIG.
(1)使用権限制御装置60、60Aの割り込み要求制御部630、630Aが備える割り込み要因レジスタ635、635Aにおいて、PEn用ハードウェアタイマチャネルS41からPEnに対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、チャネルS41がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS41の停止を要求する(T4005)。この結果、ハードウェアタイマチャネルS41はカウント停止状態S4103へ遷移する。
(1) In the interrupt factor registers 635 and 635A included in the interrupt
(2)必要に応じて、アプリケーションS40は、割り込みからの回復処理、共有リソース使用権限が不要かつ当該制御周期内に実行すべき処理など、所定の後処理S4005を実行する。 (2) If necessary, the application S40 executes predetermined post-processing S4005 such as recovery processing from interruption, processing that does not require shared resource use authority and should be executed within the control cycle.
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求を検出した共有リソース管理プログラムS10は、使用権限付与期間終了に係る処理S1006として、以下の処理を順次実行する。
The shared resource management program S10 that has detected an interrupt request due to the usage authorization period end event by the hardware timer channel S11 for
(1)使用権限制御装置60、60Aの割り込み要求制御部630、630Aが備える割り込み要因レジスタ635、635Aにおいて、PE0用ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1020)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1105へ遷移する。
(1) In the interrupt factor registers 635 and 635A included in the interrupt
(2)安全対応のオプション処理として、割り込み要因レジスタ635、635AにおいてPEnを対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS41の停止を要求する(T1021)。
(2) As an option process corresponding to safety, the interrupt factor registers 635 and 635A clear the field value holding the occurrence state of all events for PEn to false, and write to the
(3)制御テーブルS20に関しては、PEnの使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1022)し、どのPE0、PEn、PEmも使用権限を保持していない状態S2005に更新する。 (3) For the control table S20, clear (set to false) the flag (IU) field value in use granting of PEn (T1022), and no PE0, PEn, PEm hold the use right in a state S2005. Update.
(4)続いて、PEnの制御周期内権限再付与(RG)フィールドの設定に応じ、PEnの制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PEnに対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1023)する。 (4) Subsequently, the remaining time (RT) field value in the PEn control period is updated according to the setting of the authority re-grantion (RG) field in the PEn control period. In this control flow, the RG field is set to be invalid (prohibition of re-applying), in which case, the RT field value is converted to equivalent to the remaining time zero so that use authorization to PEn is not performed erroneously again. Update to value (T1023).
(5)PEnの制御周期内残り時間がゼロとなった場合、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PEnの使用要求フラグをクリア(T1024)する。この結果、使用要求レジスタバンクS30は、PEmの使用要求フラグがセットされた状態S3004となる。
(5) When the remaining time in the control period of PEn becomes zero, the use request flag of PEn is cleared by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、PEnの次に使用権限の付与先となるPEの特定と、特定したPEに対する共有リソース30の権限付与に係る一連の処理S1007を実行する。具体的な手順は以下のとおりである。
Subsequently, the shared resource management program S10 executes a series of processes S1007 related to the specification of the PE to which the use authority is given next to the PEn and the grant of the authority of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次に使用権限を付与すべきサテライトPEを特定する。特定したPE(PEmとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1025)し、制御テーブルS20の状態を、PEmが使用権限を保持している状態S2006に更新する。 (1) Refer to the authority grant order (OR) field in the control table S20, and specify the satellite PE to which the use authority is to be given next. The use authorization granting flag (IU) field value of the identified PE (PEm) is set (set to true) (T1025), and the state of the control table S20 is changed to the state S2006 in which the PEm holds the use authority. Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEm用ハードウェアタイマチャネル(図示せず)のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEmの制御周期内残り時間(RT)フィールド値を、ハードウェアタイマチャネルS11の初期カウント値レジスタ617に設定(T1026)する。 (2) In order to operate the PE0 hardware timer channel S11 as a replica of the PEm hardware timer channel (not shown) which is the next use authority grant destination, the PEm control cycle is set in the control table S20. The remaining time (RT) field value is set in the initial count value register 617 of the hardware timer channel S11 (T1026).
(3)使用権限制御装置60、60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11とPEm用ハードウェアタイマチャネル(図示せず)の同時起動を要求(T1027、T1028)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態(S1106)に遷移し、当該ハードウェアタイマチャネルS11の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。図示しないPEm用ハードウェアタイマチャネルも、同様の手順によりデクリメント動作を開始し、共有リソース使用権限をPEmに対し付与中であることを示すカウント動作状態となる。
(3) Simultaneous activation of the hardware timer channel S11 for PE0 and the hardware timer channel (not shown) for PEm is requested by writing to the
本制御フローによれば、マイコン1、1Bの搭載する限られた機能を活用し、上記の使用権限付与処理を順次実行することにより、使用要求受け付けウィンドウ期間W内に使用権限の割り当てを要求した全PEについて、厳密な優先度設定に基づき、かつハードウェアタイマチャネルS11、S41の許す限り細粒度の時間単位で、制御周期ごとに少なくとも1回は使用権限を付与するリソース共有制御を実現できる。
According to this control flow, by using the limited functions installed in the
<第2の共有リソース使用権限付与制御フロー>
図12〜図14は、第2実施形態に係るマイコンの共有リソース使用権限付与の動作を示すフローチャートである。
第2の共有リソース使用権限付与制御フローでは、第1の共有リソース使用権限付与制御フローの例示に対し(2)および(5)の条件が異なる。
<Second shared resource use authorization control flow>
12 to 14 are flowcharts showing the operation of giving the shared resource use authority of the microcomputer according to the second embodiment.
In the second shared resource use authorization control flow, the conditions of (2) and (5) are different with respect to the first shared resource use authorization control flow.
(2)使用権限制御装置は60Aの構成とし、全PEについて使用権限付与期間終了イベント発生時の割り込み要求を許可に設定し、PE0を除く全PEについて使用権限付与期間開始イベント発生時の割り込み要求を許可に設定する。 (2) The usage authority control device has a configuration of 60A, sets an interrupt request when the usage authority grant period end event occurs for all PEs to be enabled, and interrupt requests when a usage authority grant period start event occurs for all PEs except PE0. Set to permission.
(5)使用権限の付与開始タイミングの通知は、各サテライトPE上で動作するアプリケーションに対し、使用権限制御装置60Aから使用権限付与期間開始イベント発生に伴う割り込みを要求することで実現する。
(5) Notification of the use authority grant start timing is realized by requesting an interrupt associated with the use authority grant period start event from the use
第1サテライトPEであるPEnには、使用権限制御装置60Aの備えるハードウェアタイマチャネルS41が関連付けられ、PEnおよびPEn上で動作するアプリケーションS40への共有リソース使用権限付与の開始/終了タイミングを制御する。マスタPE(PE0)についても同様に、ハードウェアタイマチャネルS41とは独立したハードウェアタイマチャネルS11が関連付けられ、PE0上で動作する共有リソース管理プログラムS10による共有制御処理の一部として、使用要求受け付けウィンドウ期間Wを計測する目的で、さらに望ましくは、使用権限を保持するサテライトPEに関連付けられたハードウェアタイマチャネルS41の状態および動作を複製(レプリケーション)したレプリカとして、利用する。PEn上で動作するアプリケーションS40は、1バンク構成の使用要求レジスタバンクS30内の要求フラグをセットし、共有リソース管理プログラムS10は、使用要求レジスタバンクS30に蓄積された共有リソース使用要求、および制御テーブルS20に設定された制御情報をそれぞれ参照/更新しながら、使用権限付与順序の決定と使用権限制御装置60Aの制御を行う。共有制御の開始に先立ち、制御テーブルS20は適切に設定されているものとする。
The hardware timer channel S41 of the usage
図12において、共有リソース管理プログラムS10が、図示しないハードウェアもしくはソフトウェア手段を用いて制御周期の開始タイミングを検出すると、以下の初期化処理S1001を順次実行する。 In FIG. 12, when the shared resource management program S10 detects the start timing of the control cycle using hardware or software means (not shown), the following initialization processing S1001 is sequentially executed.
(1)使用権限制御装置60Aが備える停止トリガレジスタ626への書き込みにより、全ハードウェアタイマチャネルS11、S41の同時停止を要求(T1001、T1002)する。停止要求を受けたPE0およびPEn用ハードウェアタイマチャネルS11、S41は、それぞれ停止状態(S1101、S4101)となる。
(1) A simultaneous stop of all the hardware timer channels S11 and S41 is requested (T1001, T1002) by writing to the
(2)使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより全PEの使用要求フラグをクリアし、さらに共有リソース使用要求セットレジスタ520−0への書き込みによりPE0の使用要求フラグをセットすることで、PE0の使用要求フラグのみ有効な状態(S3001)となるよう、共有リソース使用要求フラグレジスタ510の内容を更新(T1003)する。
(2) The use request flag of all PEs is cleared by writing to the shared resource use request
(3)制御テーブルS20の全PEについて、使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1004)し、制御周期内残り時間(RT)フィールド値は、制御周期内上限時間(PT)フィールド値からハードウェアタイマチャネルS11、S41内のカウントレジスタに設定可能な値に変換した値(以下換算値と呼ぶ)に更新(T1005)することで、制御周期開始時点での制御テーブルS20の初期状態(S2001)とする。 (3) For all the PEs in the control table S20, the use authority granting flag (IU) field value is cleared (set to false) (T1004), and the remaining time in the control cycle (RT) field value is the upper limit time in the control cycle. The control table at the start of the control cycle is updated by updating (T1005) the (PT) field value to a value (hereinafter referred to as a conversion value) converted into a value settable in the count register in the hardware timer channel S11, S41. Let S20 be the initial state (S2001).
(4)各PEに関連付けられたハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に対し、制御テーブルS20の制御周期内残り時間(RT)フィールド値をそれぞれ設定(T1006、T1007)する。本時点では、PE0用ハードウェアタイマチャネルS11には、使用要求受け付けウィンドウ期間Wに相当する値が設定されている。 (4) The remaining time (RT) field value in the control period of the control table S20 is set to the initial count value register 617 of the hardware timer channels S11 and S41 associated with each PE (T1006 and T1007). At this point, a value corresponding to the use request acceptance window period W is set in the hardware timer channel S11 for PE0.
(5)制御周期の先頭において、PE0に対する共有リソース使用権限付与の態様で使用要求受け付けウィンドウ期間Wを実現する目的で、PE0用ハードウェアタイマチャネルS11を動作させるため、PE0の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1008)し、制御テーブルS20の状態を、PE0が使用権限を保持している状態S2002に更新する。本処理は、PE0の基本優先度設定が最高であることと組み合わせることで、PE0とそれ以外のPEnに対する共有リソース使用権限付与に係る処理を共通化し、使用要求受け付けウィンドウ期間W以前にPE0以外のPEnに対して使用権限が付与されるのを抑止するために有効なオプション処理である。 (5) At the beginning of the control cycle, in order to operate the PE0 hardware timer channel S11 for the purpose of realizing the use request acceptance window period W in the form of granting the shared resource use authority to PE0, the PE0 use authority granting flag (IU) The field value is set (set to true) (T1008), and the state of the control table S20 is updated to the state S2002 in which PE0 holds the use authority. This processing combines processing relating to granting shared resource usage authority to PE0 and other PEn in common by combining with the basic priority setting of PE0 being highest, and other than PE0 before usage request acceptance window period W This is an optional process that is effective for suppressing the granting of usage rights to PEn.
(6)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11の起動を要求(T1009)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態S1102へと遷移し、現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。
(6) A request to start the PE0 hardware timer channel S11 is made by writing to the
共有リソース管理プログラムS10と同様の手段により制御周期の開始タイミングを検出した、PEn上で動作するアプリケーションS40は、制御周期内に実行すべき処理に関する初期化等、所定の前処理を実行(S4001)する。実行すべき処理が共有リソース使用権限の付与を必要とする場合には、前処理の少なくとも一部として、使用要求受け付けウィンドウ期間W内、すなわちPE0用ハードウェアタイマチャネルS11のカウント動作中に、使用要求レジスタバンクS30内にあるPEn用共有リソース使用要求セットレジスタへの書き込みにより、PEnの使用要求フラグをセット(T4001)する。 The application S40 operating on the PEn, which has detected the control cycle start timing by means similar to the shared resource management program S10, executes predetermined preprocessing such as initialization related to processing to be executed within the control cycle (S4001). Do. If the process to be executed requires the assignment of shared resource use authority, it is used as part of the pre-processing within the use request acceptance window period W, that is, while counting the hardware timer channel S11 for PE0. The use request flag of PEn is set (T4001) by writing to the PEn shared resource use request set register in the request register bank S30.
また、図示しないが、同じ使用要求受け付けウィンドウ期間W内に、PEnとは異なるサテライトPE(PEmとする)上で動作するアプリケーションも、同様の手順により、PEmの使用要求フラグをセットする。この結果、使用要求受け付けウィンドウ期間W終了の時点で、使用要求レジスタバンクS30には、PE0、PEnおよびPEmの使用要求フラグがセットされた状態S3002となる。 Although not shown, an application that operates on a satellite PE (PEm) different from PEn within the same use request acceptance window period W also sets the PEm use request flag in the same procedure. As a result, at the end of the use request acceptance window period W, the use request flags of PE0, PEn and PEm are set in the use request register bank S30, and the state S3002 is reached.
第1の共有リソース使用権限付与制御フローとは異なり、前処理を完了したPEn上のアプリケーションS40は、PEnへの共有リソース使用権限の付与待ち処理の少なくとも一部として、PEn用ハードウェアタイマチャネルS41のチャネル状態レジスタ615をポーリングする必要はない。共有リソース管理プログラムS10によるハードウェアタイマチャネルS41の起動要求に応じて、使用権限制御装置60Aから使用権限付与期間開始イベントを要因とする割り込みが要求されるのを待てばよく、当該割り込み要求までの期間を別のタスク処理の実行に当ててもよい。
Unlike the first shared resource use authority granting control flow, the application S40 on the PEn that has completed the pre-processing, as at least a part of the process of waiting for granting the shared resource use authority to the PEn, the PEn hardware timer channel S41 There is no need to poll the current
一方、カウント動作状態にあるPE0用ハードウェアタイマチャネルS11は、使用要求受け付けウィンドウ期間W、所定の時間経過ごとに現カウント値レジスタ616の内容をデクリメントする。現カウント値レジスタ616の内容が、事前に定義された下限値以下となったことを検出すると、使用権限制御装置60Aは、割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を真にセットする。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、使用権限制御割り込み信号61により当該イベントを要因とする割り込みをPE0に要求(T1101)する。
On the other hand, the hardware timer channel S11 for PE0 in the count operation state decrements the contents of the current count value register 616 every time a use request acceptance window period W and a predetermined time elapse. When it is detected that the content of the current
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求T1001を検出した共有リソース管理プログラムS10は、使用要求受け付けウィンドウ期間Wの終了に係る一連の処理S1002を順次実行する。 The shared resource management program S10 that has detected the interrupt request T1001 caused by the usage authorization period end event by the hardware timer channel S11 for PE0 sequentially executes a series of processes S1002 related to the end of the usage request acceptance window period W. .
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PE0用ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1010)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1103へ遷移する。
(1) In the interrupt factor register 635A included in the interrupt
(2)PE0に対する共有リソース使用権限付与の態様で実装した、使用要求受け付けウィンドウ期間W終了に伴い、PE0の使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1011)し、制御テーブルS20の状態を、どのPE0、PEn、PEmも使用権限を保持していない状態S2003に更新する。なお、処理T1011は処理T1008と対になるものであり、処理T1008を省略した場合は、処理T1011も同様に省略してよい。 (2) With the end of the use request acceptance window period W implemented in the shared resource use authorization aspect for PE0, clear (set to false) the in-use grant flag (IU) field value of PE0 (T1011), The state of the control table S20 is updated to a state S2003 in which no PE0, PEn, and PEm hold the use authority. The process T1011 is paired with the process T1008, and when the process T1008 is omitted, the process T1011 may be omitted as well.
(3)続いて、PE0の制御周期内権限再付与(RG)フィールドの設定に応じ、PE0の制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PE0に対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1012)する。 (3) Subsequently, the remaining time (RT) field value in PE0 is updated in accordance with the setting of the reauthorization (RG) field in PE0. In this control flow, the RG field is set to be invalid (prohibition of re-applying), and in this case, the RT field value is converted to the remaining time zero so that use authorization to PE0 is not performed erroneously again. Update to value (T1012).
(4)PE0の制御周期内残り時間がゼロとなった場合、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PE0の使用要求フラグをクリア(T1013)する。この結果、使用要求レジスタバンクS30は、PEnおよびPEmの使用要求フラグがセットされた状態S3003となる。
(4) If the remaining time in the control cycle of PE0 becomes zero, the use request flag of PE0 is cleared (T1013) by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、図13に示すように、使用要求レジスタバンクS30の備える共有リソース使用要求フラグレジスタ510を読み出し(T1014)、使用要求受け付けウィンドウ期間Wに蓄積された共有リソース使用要求の有無をチェック(S1003)する。1以上の使用要求があった場合には、図22に示すフローに基づき、共有リソース使用権限の付与順序を一括して決定(S1004)し、制御テーブルS20のうち、少なくとも共有リソース30の使用を要求した全PEについて、決定した付与順序を特定する値を制御周期内権限付与順序(OR)フィールドに設定する(T1015)。さらに望ましくは、共有リソース30の使用要求なし、制御テーブルS20内の制御ポリシ設定が無効などの所定の理由により、現制御周期における共有リソース使用権限付与の対象外となったPEについては、付与対象外であることを示す所定の値を、当該PEのORフィールドに設定してよい。
Subsequently, as shown in FIG. 13, the shared resource management program S10 reads the shared resource use
以降、共有リソース管理プログラムS10は、処理S1004で決定した共有リソース使用権限の付与順序にしたがい、付与対象とするサテライトPEに対し共有リソース30の使用権限を付与する。具体的な手順は以下のとおりである。
Thereafter, the shared resource management program S10 grants the use authority of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次(または最初)に使用権限を付与すべきサテライトPEを特定(S1005)する。特定したPE(PEnとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1016)し、制御テーブルS20の状態を、PEnが使用権限を保持している状態S2004に更新する。 (1) Referring to the in-control-cycle authorization granting order (OR) field of the control table S20, the satellite PE to be granted the usage authorization next (or first) is specified (S1005). The in-use granting flag (IU) field value of the identified PE (referred to as PEn) is set (set to true) (T1016), and the state of the control table S20 is changed to the state S2004 in which the PEn holds the use right. Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEn用ハードウェアタイマチャネルS41のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEnの制御周期内残り時間(RT)フィールド値を、チャネルS11の初期カウント値レジスタ617に設定(T1017)する。 (2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel S41 for PEn to which the next usage authorization is given, the remaining time within the control cycle of PEn in the setting of the control table S20 ( RT) The field value is set in the initial count value register 617 of the channel S11 (T1017).
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0およびPEn用ハードウェアタイマチャネルS11、S41の同時起動を要求(T1018、T1019)する。起動要求を受けたハードウェアタイマチャネルS11、S41はそれぞれ動作状態(S1104、S4102)に遷移し、いずれも当該ハードウェアタイマチャネルS11、S41の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。ここで、ハードウェアタイマチャネルS41がカウント動作状態であることと、共有リソース使用権限をPEnに対し付与中であることは等価であり、2つのハードウェアタイマチャネルS11、S41は同期してデクリメント動作を行う。
(3) Requests simultaneous activation of PE0 and PEn hardware timer channels S11 and S41 (T1018, T1019) by writing to the start trigger register 625 of the use
共有リソース管理プログラムS10から、PEn用ハードウェアタイマチャネルS41に対する起動要求T1018を受けると、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間開始イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは後者のイベントを要因とする割り込みのみ許可に設定しているため、ハードウェアタイマチャネルS41は、当該イベントを要因として使用権限付与期間の開始を通知する割り込みを、使用権限割り込み信号を経由し、PEnに対し要求(T4121)する。
When the activation request T1018 for the hardware timer channel S41 for PEn is received from the shared resource management program S10, the use of the hardware timer channel S11 for PE0 in the interrupt factor register 635A included in the interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間開始イベントを要因とする割り込み要求T4121を検出したアプリケーションS40は、使用権限付与期間開始に係る処理S4021を実行する。すなわち、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PEn用ハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値を偽にクリア(T4021)し、続いて、共有リソース30の使用を伴う処理S4003を実行する。第1の制御フローと同様、アプリケーションS40は、ハードウェアタイマチャネルS41がカウント動作状態の期間、共有リソース30を占有して使用可能である一方、使用権限の付与終了タイミングを通知する権限付与期間終了イベント発生を要因とする割り込み要求が発生するまでには、処理S4003を終了しなければならないものとする。
The application S40 that has detected the interrupt request T4121 caused by the use authority grant period start event by the PEn hardware timer channel S41 executes a process S4021 related to the start of the use authority grant period. That is, in the interrupt factor register 635A included in the interrupt
PE0およびPEn用ハードウェアタイマチャネルS11、S41が同時起動要求(T1018、T1019)によりカウント動作状態に遷移した後、各ハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に設定された時間、すなわち制御テーブルS20内のPEnに割り当て可能な制御周期内残り時間(RT)フィールドに指定された時間が経過すると、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間終了イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、図14に示すように、ハードウェアタイマチャネルS11、S41は、当該イベントを要因とし使用権限付与期間の終了を通知する割り込みを、使用権限割り込み信号を経由し、それぞれPE0(T1102)、PEn(T4101)に対し同時に要求する。
The time set in the initial count value register 617 of each hardware timer channel S11, S41 after the hardware timer channels S11, S41 for PE0 and PEn transit to the count operation state by the simultaneous start request (T1018, T1019), ie, When the time designated in the control cycle remaining time (RT) field assignable to PEn in control table S20 has elapsed, hardware timer is executed in interrupt factor register 635A included in interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間終了イベントを要因とする割り込み要求を検出したアプリケーションS40は、使用権限付与期間終了に係る処理S4004を実行する。 The application S40 that detects an interrupt request caused by the use authority grant period end event by the PEn hardware timer channel S41 executes a process S4004 related to the end of the use authority grant period.
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PEnを対象とする全イベントの発生を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS41がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS41の停止を要求する(T4005)。この結果、ハードウェアタイマチャネルS41はカウント停止状態S4103へ遷移する。
(1) In the interrupt factor register 635A of the interrupt
(2)必要に応じて、アプリケーションS40は割り込みからの回復処理、共有リソース使用権限が不要かつ当該制御周期内に実行すべき処理など、所定の後処理S4005を実行する。 (2) If necessary, the application S40 executes predetermined post-processing S4005 such as recovery processing from an interrupt, processing that does not require shared resource use authority and should be executed within the control cycle.
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求を検出した共有リソース管理プログラムS10は、使用権限付与期間終了に係る処理S1006として、以下の処理を順次実行する。
The shared resource management program S10 that has detected an interrupt request due to the usage authorization period end event by the hardware timer channel S11 for
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PE0を対象とする全イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1020)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1105へ遷移する。
(1) In the interrupt factor register 635A included in the interrupt
(2)安全対応のオプション処理として、割り込み要因レジスタ635AにおいてPEnを対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS41の停止を要求する(T1021)。
(2) As an option process for safety, clear the field value holding the occurrence state of all events for PEn in the interrupt factor register 635A to false, and write to the
(3)制御テーブルS20に関しては、PEnの使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1022)し、どのPE0、PEn、PEmも使用権限を保持していない状態S2005に更新する。 (3) For the control table S20, clear (set to false) the flag (IU) field value in use granting of PEn (T1022), and no PE0, PEn, PEm hold the use right in a state S2005. Update.
(4)続いて、PEnの制御周期内権限再付与(RG)フィールドの設定に応じ、PEnの制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PEnに対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1023)する。 (4) Subsequently, the remaining time (RT) field value in the PEn control period is updated according to the setting of the authority re-grantion (RG) field in the PEn control period. In this control flow, the RG field is set to be invalid (prohibition of re-applying), in which case, the RT field value is converted to equivalent to the remaining time zero so that use authorization to PEn is not performed erroneously again. Update to value (T1023).
(5)PEnの制御周期内残り時間がゼロとなった場合、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PEnの使用要求フラグをクリア(T1024)する。この結果、使用要求レジスタバンクS30は、PEmの使用要求フラグがセットされた状態S3004となる。
(5) When the remaining time in the control period of PEn becomes zero, the use request flag of PEn is cleared by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、PEnの次に使用権限の付与先となるPEの特定と、特定したPEに対する共有リソース30の権限付与に係る一連の処理S1007を実行する。具体的な手順は以下のとおりである。
Subsequently, the shared resource management program S10 executes a series of processes S1007 related to the specification of the PE to which the use authority is given next to the PEn and the grant of the authority of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次に使用権限を付与すべきサテライトPEを特定する。特定したPE(PEmとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1025)し、制御テーブルS20の状態を、PEmが使用権限を保持している状態S2006に更新する。 (1) Refer to the authority grant order (OR) field in the control table S20, and specify the satellite PE to which the use authority is to be given next. The use authorization granting flag (IU) field value of the identified PE (PEm) is set (set to true) (T1025), and the state of the control table S20 is changed to the state S2006 in which the PEm holds the use authority. Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEm用ハードウェアタイマチャネル(図示せず)のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEmの制御周期内残り時間(RT)フィールド値を、チャネルS11の初期カウント値レジスタ617に設定(T1026)する。 (2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel (not shown) for PEm to which the next usage authorization is given, control cycle of PEm among the settings of the control table S20 The remaining time (RT) field value is set in the initial count value register 617 of the channel S11 (T1026).
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11とPEm用ハードウェアタイマチャネル(図示せず)の同時起動を要求(T1027、T1028)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態(S1106)に遷移し、当該ハードウェアタイマチャネルS11の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。図示しないPEm用ハードウェアタイマチャネルも、同様の手順によりデクリメント動作を開始し、共有リソース使用権限をPEmに対し付与中であることを示すカウント動作状態となる。
(3) Simultaneous write of the hardware timer channel S11 for
第1の制御フローと比較し、本制御フローによれば、サテライトPEに対する共有リソース使用権限付与状態を取得するためのポーリング処理が不要となり、特に複数タスクの同時実行をサポートするサテライトPEにおける、CPUコア等の計算リソースの利用効率を向上させることができる。 Compared to the first control flow, according to this control flow, the polling process for acquiring the shared resource use authorization state for the satellite PE becomes unnecessary, and particularly the CPU in the satellite PE that supports the simultaneous execution of a plurality of tasks. The utilization efficiency of calculation resources such as cores can be improved.
<第3の共有リソース使用権限付与制御フロー>
図15〜図18は、第3実施形態に係るマイコンの共有リソース使用権限付与の動作を示すフローチャートである。
第3の共有リソース使用権限付与制御フローでは、第2の共有リソース使用権限付与制御フローの例示に対し、さらに(3)および(6)の条件が異なる。
<Third shared resource use authorization control flow>
FIG. 15 to FIG. 18 are flowcharts showing the operation of giving the shared resource use authority of the microcomputer according to the third embodiment.
In the third shared resource use authorization control flow, conditions of (3) and (6) are different from those of the second shared resource use authorization control flow.
(3)制御テーブル140の設定に関し、マスタPE(PE0)の基本優先度(PR)フィールドをゼロ(優先度最高)、制御周期内上限時間(PT)フィールドを使用要求受け付けウィンドウ期間Wに換算可能な値に設定し、さらに、少なくとも1つのサテライトPE(PEnとする)の制御周期内権限再付与(RG)フィールドを有効に、PEnを除くサテライトPEとマスタPE(PE0)についてはRGフィールドを無効に、それぞれ設定する。 (3) Regarding the setting of the control table 140, the basic priority (PR) field of the master PE (PE0) can be converted to zero (highest priority), and the upper limit time (PT) field within the control cycle can be converted into a use request reception window period W. Set the value to a valid value, and enable the in-cycle reauthorization (RG) field of at least one satellite PE (PEn), and disable the RG field for satellite PEs excluding master PEn and master PE (PE0). Set to each.
(6)使用権限の付与終了タイミングを通知する、使用権限制御装置60Aから使用権限付与期間終了イベント発生に伴う割り込み要求の検出に代えて、アプリケーションS40が共有リソース30の使用を伴う処理を完了した時点で、アプリケーションS40から共有リソース管理プログラムS10に対し、PE間割り込み制御装置70を介したPE間割り込み要求により使用権限の返却を主体的に通知する。
(6) The application S40 has completed the process involving the use of the shared
第1サテライトPEであるPEnには、使用権限制御装置60Aの備えるハードウェアタイマチャネルS41が関連付けられ、PEnおよびPEn上で動作するアプリケーションS40への共有リソース使用権限付与の開始/終了タイミングを制御する。マスタPE(PE0)についても同様に、ハードウェアタイマチャネルS41とは独立したハードウェアタイマチャネルS11が関連付けられ、PE0上で動作する共有リソース管理プログラムS10による共有制御処理の一部として、使用要求受け付けウィンドウ期間Wを計測する目的で、さらに望ましくは、使用権限を保持するサテライトPEに関連付けられたハードウェアタイマチャネルS41の状態および動作を複製(レプリケーション)したレプリカとして、利用する。PEn上で動作するアプリケーションS40は、1バンク構成の使用要求レジスタバンクS30内の要求フラグをセットし、共有リソース管理プログラムS10は、使用要求レジスタバンクS30に蓄積された共有リソース使用要求、および制御テーブルS20に設定された制御情報をそれぞれ参照/更新しながら、使用権限付与順序の決定と使用権限制御装置60Aの制御を行う。本制御フローでは、さらに、少なくともアプリケーションS40から共有リソース管理プログラムS10に対し、主体的な共有リソース使用権限の返却を通知する手段として、PE間割り込み制御装置70を介したPE間割り込み要求を利用する。共有制御の開始に先立ち、制御テーブルS20は適切に設定されているものとする。
The hardware timer channel S41 of the usage
図15において、共有リソース管理プログラムS10が、図示しないハードウェアもしくはソフトウェア手段を用いて制御周期の開始タイミングを検出すると、以下の初期化処理S1001を順次実行する。 In FIG. 15, when the shared resource management program S10 detects the start timing of the control cycle using hardware or software means (not shown), the following initialization processing S1001 is sequentially executed.
(1)使用権限制御装置60Aが備える停止トリガレジスタ626への書き込みにより、全ハードウェアタイマチャネルS11、S41の同時停止を要求(T1001、T1002)する。停止要求を受けたPE0およびPEn用ハードウェアタイマチャネルS11、S41は、それぞれ停止状態(S1101、S4101)となる。
(1) A simultaneous stop of all the hardware timer channels S11 and S41 is requested (T1001, T1002) by writing to the
(2)使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより全PEの使用要求フラグをクリアし、さらに共有リソース使用要求セットレジスタ520−0への書き込みによりPE0の使用要求フラグをセットすることで、PE0の使用要求フラグのみ有効な状態(S3001)となるよう、共有リソース使用要求フラグレジスタ510の内容を更新(T1003)する。
(2) The use request flag of all PEs is cleared by writing to the shared resource use request
(3)制御テーブルS20の全PEについて、使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1004)し、制御周期内残り時間(RT)フィールド値は、制御周期内上限時間(PT)フィールド値からハードウェアタイマチャネルS11、S41内のカウントレジスタに設定可能な値に変換した値(以下換算値と呼ぶ)に更新(T1005)することで、制御周期開始時点での制御テーブルS20の初期状態(S2001)とする。 (3) For all the PEs in the control table S20, the use authority granting flag (IU) field value is cleared (set to false) (T1004), and the remaining time in the control cycle (RT) field value is the upper limit time in the control cycle. The control table at the start of the control cycle is updated by updating (T1005) the (PT) field value to a value (hereinafter referred to as a conversion value) converted into a value settable in the count register in the hardware timer channel S11, S41. Let S20 be the initial state (S2001).
(4)各PEに関連付けられたハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に対し、制御テーブルS20の制御周期内残り時間(RT)フィールド値をそれぞれ設定(T1006、T1007)する。本時点では、PE0用ハードウェアタイマチャネルS11には、使用要求受け付けウィンドウ期間Wに相当する値が設定されている。 (4) The remaining time (RT) field value in the control period of the control table S20 is set to the initial count value register 617 of the hardware timer channels S11 and S41 associated with each PE (T1006 and T1007). At this point, a value corresponding to the use request acceptance window period W is set in the hardware timer channel S11 for PE0.
(5)制御周期の先頭において、PE0に対する共有リソース使用権限付与の態様で使用要求受け付けウィンドウ期間Wを実現する目的で、PE0用ハードウェアタイマチャネルS11を動作させるため、PE0の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1008)し、制御テーブルS20の状態を、PE0が使用権限を保持している状態S2002に更新する。本処理は、PE0の基本優先度設定が最高であることと組み合わせることで、PE0とそれ以外のPEnに対する共有リソース使用権限付与に係る処理を共通化し、使用要求受け付けウィンドウ期間W以前にPE0以外のPEnに対して使用権限が付与されるのを抑止するために有効なオプション処理である。 (5) At the beginning of the control cycle, in order to operate the PE0 hardware timer channel S11 for the purpose of realizing the use request acceptance window period W in the form of granting the shared resource use authority to PE0, the PE0 use authority granting flag (IU) The field value is set (set to true) (T1008), and the state of the control table S20 is updated to the state S2002 in which PE0 holds the use authority. This processing combines processing relating to granting shared resource usage authority to PE0 and other PEn in common by combining with the basic priority setting of PE0 being highest, and other than PE0 before usage request acceptance window period W This is an optional process that is effective for suppressing the granting of usage rights to PEn.
(6)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11の起動を要求(T1009)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態S1102へと遷移し、現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。
(6) A request to start the PE0 hardware timer channel S11 is made by writing to the
共有リソース管理プログラムS10と同様の手段により制御周期の開始タイミングを検出した、PEn上で動作するアプリケーションS40は、制御周期内に実行すべき処理に関する初期化等、所定の前処理を実行(S4001)する。実行すべき処理が共有リソース使用権限の付与を必要とする場合には、前処理の少なくとも一部として、使用要求受け付けウィンドウ期間W内、すなわちPE0用ハードウェアタイマチャネルS11のカウント動作中に、使用要求レジスタバンクS30内にあるPEn用共有リソース使用要求セットレジスタへの書き込みにより、PEnの使用要求フラグをセット(T4001)する。 The application S40 operating on the PEn, which has detected the control cycle start timing by means similar to the shared resource management program S10, executes predetermined preprocessing such as initialization related to processing to be executed within the control cycle (S4001). Do. If the process to be executed requires the assignment of shared resource use authority, it is used as part of the pre-processing within the use request acceptance window period W, that is, while counting the hardware timer channel S11 for PE0. The use request flag of PEn is set (T4001) by writing to the PEn shared resource use request set register in the request register bank S30.
また、図示しないが、同じ使用要求受け付けウィンドウ期間W内に、PEnとは異なるサテライトPE(PEmとする)上で動作するアプリケーションも、同様の手順により、PEmの使用要求フラグをセットするものとする。この結果、使用要求受け付けウィンドウ期間W終了の時点で、使用要求レジスタバンクS30には、PE0、PEnおよびPEmの使用要求フラグがセットされた状態S3002となる。 Although not shown in the figure, an application operating on a satellite PE (PEm) different from PEn within the same use request acceptance window period W also sets the PEm use request flag in the same procedure. . As a result, at the end of the use request acceptance window period W, the use request flags of PE0, PEn and PEm are set in the use request register bank S30, and the state S3002 is reached.
第2の共有リソース使用権限付与制御フローと同様、前処理を完了したPEn上のアプリケーションS40は、PEnへの共有リソース使用権限の付与待ち処理の少なくとも一部として、PEn用ハードウェアタイマチャネルS41のチャネル状態レジスタ615をポーリングする必要はない。共有リソース管理プログラムS10によるハードウェアタイマチャネルS41の起動要求に応じて、使用権限制御装置60Aから使用権限付与期間開始イベントを要因とする割り込みが要求されるのを待てばよく、当該割り込み要求までの期間を別のタスク処理の実行に当ててもよい。
Similar to the second shared resource use authority granting control flow, the application S40 on the PEn that has completed the pre-processing uses the PEn hardware timer channel S41 as at least a part of the waiting process for granting the shared resource use authority to the PEn. There is no need to poll the
一方、カウント動作状態にあるPE0用ハードウェアタイマチャネルS11は、使用要求受け付けウィンドウ期間W、所定の時間経過ごとに現カウント値レジスタ616の内容をデクリメントする。現カウント値レジスタ616の内容が、事前に定義された下限値以下となったことを検出すると、使用権限制御装置60Aは、割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を真にセットする。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、使用権限制御割り込み信号61により当該イベントを要因とする割り込みをPE0に要求(T1101)する。
On the other hand, the hardware timer channel S11 for PE0 in the count operation state decrements the contents of the current count value register 616 every time a use request acceptance window period W and a predetermined time elapse. When it is detected that the content of the current
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求T1101を検出した共有リソース管理プログラムS10は、使用要求受け付けウィンドウ期間の終了に係る一連の処理S1002を順次実行する。 The shared resource management program S10 that has detected the interrupt request T1101 caused by the use authorization period end event by the hardware timer channel S11 for PE0 sequentially executes a series of processes S1002 related to the end of the use request reception window period.
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PE0用ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1010)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1103へ遷移する。
(1) In the interrupt factor register 635A included in the interrupt
(2)PE0に対する共有リソース使用権限付与の態様で実装した、使用要求受け付けウィンドウ期間W終了に伴い、PE0の使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1011)し、制御テーブルS20の状態を、どのPE0、PEn、PEmも使用権限を保持していない状態S2003に更新する。なお、処理T1011は処理T1008と対になるものであり、処理T1008を省略した場合は、処理T1011も同様に省略してよい。 (2) With the end of the use request acceptance window period W implemented in the shared resource use authorization aspect for PE0, clear (set to false) the in-use grant flag (IU) field value of PE0 (T1011), The state of the control table S20 is updated to a state S2003 in which no PE0, PEn, and PEm hold the use authority. The process T1011 is paired with the process T1008, and when the process T1008 is omitted, the process T1011 may be omitted as well.
(3)続いて、PE0の制御周期内権限再付与(RG)フィールドの設定に応じ、PE0の制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PE0に対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1012)する。 (3) Subsequently, the remaining time (RT) field value in PE0 is updated in accordance with the setting of the reauthorization (RG) field in PE0. In this control flow, the RG field is set to be invalid (prohibition of re-applying), and in this case, the RT field value is converted to the remaining time zero so that use authorization to PE0 is not performed erroneously again. Update to value (T1012).
(4)PE0の制御周期内残り時間がゼロとなった場合、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PE0の使用要求フラグをクリア(T1013)する。この結果、使用要求レジスタバンクS30は、PEnおよびPEmの使用要求フラグがセットされた状態S3003となる。
(4) If the remaining time in the control cycle of PE0 becomes zero, the use request flag of PE0 is cleared (T1013) by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、図16に示すように、使用要求レジスタバンクS30の備える共有リソース使用要求フラグレジスタ510を読み出し(T1014)、使用要求受け付けウィンドウ期間Wに蓄積された共有リソース使用要求の有無をチェック(S1003)する。1以上の使用要求があった場合には、図23に示すフローに基づき、本処理実行時点で最も優先度の高い1つのPEを、最初の共有リソース使用権限付与先として動的に決定(S1041)する。本制御フローにおける共有制御ポリシでは、制御テーブルS20内の制御周期内権限付与順序(OR)フィールドを参照しないため、ORフィールドの設定値は任意としてよい。
Subsequently, as shown in FIG. 16, the shared resource management program S10 reads the shared resource use
以降、共有リソース管理プログラムS10は、処理S1041で動的に決定した共有リソース使用権限の付与対象とするサテライトPEに対し、共有リソース30の使用権限を付与する処理S1042を実行する。具体的な手順は以下のとおりである。
Thereafter, the shared resource management program S10 executes a process S1042 for granting the use authority of the shared
(1)使用権限を付与すべきPE(PEnとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1041)し、制御テーブルS20の状態を、PEnが使用権限を保持している状態S2004に更新する。 (1) Set (set to true) the use authority granting flag (IU) field value of the PE (PEn) to which the use authority is to be granted (set to T1041), the status of the control table S20, and PEn Update to the held state S2004.
(2)PE0用ハードウェアタイマチャネルS11を、最初の使用権限付与先であるPEn用ハードウェアタイマチャネルS41のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEnの制御周期内残り時間(RT)フィールド値を、チャネルS11の初期カウント値レジスタ617に設定(T1017)する。 (2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel S41 for PEn to which the first usage authorization is given, the remaining time within the control cycle of PEn in the setting of the control table S20 ( RT) The field value is set in the initial count value register 617 of the channel S11 (T1017).
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0およびPEn用ハードウェアタイマチャネルS11、S41の同時起動を要求(T1018、T1019)する。起動要求を受けたハードウェアタイマチャネルS11、S41はそれぞれ動作状態(S1104、S4102)に遷移し、いずれも当該ハードウェアタイマチャネルS11、S41の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。ここで、ハードウェアタイマチャネルS41がカウント動作状態であることと、共有リソース使用権限をPEnに対し付与中であることは等価であり、2つのハードウェアタイマチャネルS11、S41は同期してデクリメント動作を行う。
(3) Requests simultaneous activation of PE0 and PEn hardware timer channels S11 and S41 (T1018, T1019) by writing to the start trigger register 625 of the use
共有リソース管理プログラムS10から、PEn用ハードウェアタイマチャネルS41に対する起動要求T1018を受けると、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間開始イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは後者のイベントを要因とする割り込みのみ許可に設定しているため、ハードウェアタイマチャネルS41は、当該イベントを要因として使用権限付与期間の開始を通知する割り込みを、使用権限割り込み信号を経由し、PEnに対し要求(T4121)する。
When the activation request T1018 for the hardware timer channel S41 for PEn is received from the shared resource management program S10, the use of the hardware timer channel S11 for PE0 in the interrupt factor register 635A included in the interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間開始イベントを要因とする割り込み要求T4121を検出したアプリケーションS40は、使用権限付与期間開始に係る処理S4021を実行する。すなわち、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PEn用ハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値を偽にクリア(T4021)し、続いて、共有リソース30の使用を伴う処理S4003を実行する。第2の制御フローと同様、アプリケーションS40は、ハードウェアタイマチャネルS41がカウント動作状態の期間、共有リソース30を占有して使用可能である一方、使用権限の付与終了タイミングを通知する権限付与期間終了イベント発生を要因とする割り込み要求が発生するまでには、処理S4003を終了しなければならないものとする。
The application S40 that has detected the interrupt request T4121 caused by the use authority grant period start event by the PEn hardware timer channel S41 executes a process S4021 related to the start of the use authority grant period. That is, in the interrupt factor register 635A included in the interrupt
第2の制御フローでは、アプリケーションS40において、共有リソース30を使用する処理S4003が完了したか否かに関わらず、使用権限付与期間終了イベントおよび当該イベント要因とする割り込み要求を検出するまで、共有リソース30の使用権限をPEnが保持し続ける。それに対し、本制御フローでは、共有リソース30の使用権限が不要となった時点で、使用権限付与期間終了イベントを要因とする割り込み要求を待たずに、図17に示すように、以下の使用権限返却処理S4041を主体的に実行する。
In the second control flow, regardless of whether or not the process S4003 using the shared
(1)動作中のPEn用ハードウェアタイマチャネルS41を安全に停止させるため、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込みイネーブルレジスタ636Aへの書き込みにより、PEnを対象とする全イベントを要因とする割り込み要求を一時的に禁止する(T4041)。
(1) In order to safely stop the hardware timer channel S41 for PEn in operation, writing to the interrupt enable
(2)割り込み要因レジスタ635Aにおいて、PEnを対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS41の停止を要求する(T4042)。この結果、ハードウェアタイマチャネルS41はカウント停止状態S4103へ遷移する。
(2) In the interrupt factor register 635A, the field value holding the occurrence state of all events for PEn is cleared to false, and the
(3)PE間割り込み制御装置70の備える、PEnを要求元PEとするPE間割り込み要求セットレジスタ720−nへの書き込みにより、PE0を要求先PEとするPE間割り込み要求フラグをセットし、PEnからPE0へのPE間割り込みを要求(T4043)する。なお、PE間割り込みに関し、使用権限の返却による共有リソース30の解放とは異なるメッセージを伝達する必要がある場合には、PE間割り込み信号に付随して割り込み要因を通知する手段(図示せず)を別途設けてもよい。
(3) The inter-PE interrupt request set register 720-n having the PEn as the request source PE included in the inter-PE interrupt
(4)割り込みイネーブルレジスタ636Aへの書き込みにより、処理T4041で一時的に禁止していた割り込み要求を再度許可する(T4044)。
(4) By writing to the interrupt enable
(5)必要に応じて、アプリケーションS40は共有リソース使用権限が不要かつ当該制御周期内に実行すべき処理など、所定の後処理S4005を実行する。 (5) If necessary, the application S40 executes predetermined post-processing S4005 such as a process that does not require the shared resource use authority and should be executed within the control cycle.
PE間割り込み信号を経由した、PEnからPE0へのPE間割り込み要求T4043を検出した共有リソース管理プログラムS10は、使用権限返却に係る処理S1043として、以下の処理を順次実行する。 The shared resource management program S10 that has detected the inter-PE interrupt request T4043 from PEn to PE0 via the inter-PE interrupt signal sequentially executes the following processing as processing S1043 related to use authority return.
(1)動作中のPE0用ハードウェアタイマチャネルS11を安全に停止させるため、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込みイネーブルレジスタ636Aへの書き込みにより、PE0を対象とする全イベントを要因とする割り込み要求を一時的に禁止する(T1042)。
(1) In order to safely stop the hardware timer channel S10 for PE0 in operation, writing to the interrupt enable
(2)割り込み要因レジスタ635Aにおいて、PE0を対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS11の停止を要求する(T1043)。この結果、ハードウェアタイマチャネルS41はカウント停止状態S1105へ遷移する。
(2) In the interrupt factor register 635A, the field value holding the occurrence state of all events for PE0 is cleared to false, and writing to the
(3)安全対応のオプション処理として、割り込み要因レジスタ635Aにおいて、PEnを対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS41の停止を要求する(T1021)。
(3) As an optional processing for safety, in the interrupt factor register 635A, the field value holding the occurrence state of all the events for PEn is cleared to false and writing to the
(4)割り込みイネーブルレジスタ636Aへの書き込みにより、処理T1042で一時的に禁止していた割り込み要求を再度許可する(T1044)。
(4) By writing to the interrupt enable
(5)制御テーブルS20に関しては、PEnの使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1022)し、どのPE0、PEn、PEmも使用権限を保持していない状態S2005に更新する。 (5) For the control table S20, clear (set to false) the flag (IU) field value in use granting of PEn (T1022), and no PE0, PEn, or PEm holds the use right in a state S2005. Update.
(6)続いて、PEnの制御周期内権限再付与(RG)フィールドの設定に応じ、PEnの制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを有効(再付与許可)に設定しており、その場合には、PEn用ハードウェアタイマチャネルS41の現カウント値レジスタ616、または/および、PE0用ハードウェアタイマチャネルS11の現カウント値レジスタ616の内容をそれぞれ読み出し(T1045、T1046)、PEnが実際に共有リソース30を占有した時間を差し引いた、PEnに割り当て可能な制御周期内残り時間の換算値を算出する。算出方法としては、処理T1045で取得した換算値、処理T1045および処理T1046で取得した2つの換算値の平均、または2つの換算値のうちより小さい値のいずれかの値とすればよい。
(6) Subsequently, the control period remaining time (RT) field value of PEn is updated according to the setting of the control period reauthorization (RG) field of PEn. In this control flow, the RG field is set to be valid (re-granting permission), and in this case, the current count value register 616 of the hardware timer channel S41 for PEn or / and the hardware timer channel S11 for PE0 The contents of the current
(7)制御テーブルS20のPEnについて、RTフィールドの値を(6)で算出した換算値に更新する(T1047)。 (7) For the PEn in the control table S20, the RT field value is updated to the converted value calculated in (6) (T1047).
(8)PEnに対する共有リソース使用権限再付与に備え、PEn用ハードウェアタイマチャネルS41の初期カウント値レジスタ617についても同様に、(7)で算出した換算値に更新する(T1048)。 (8) In preparation for re-granting the shared resource use authority to PEn, the initial count value register 617 of the PEn hardware timer channel S41 is similarly updated to the converted value calculated in (7) (T1048).
(9)(6)で算出したPEnの制御周期内残り時間がゼロとなった場合、現制御周期内のPEnに対する権限再付与はRGフィールドの設定によらず禁止となり、使用要求レジスタバンクS30が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PEnの使用要求フラグをクリア(T1049)する。この結果、使用要求レジスタバンクS30は、PEnおよびPEmの使用要求フラグがセットされた状態、もしくはPEmの使用要求のみがセットされた状態のいずれかの状態S3041となる。なお、本制御フローでは、PEnおよびPEmの使用要求フラグがセットされた状態として以降の説明を続ける。 (9) If the remaining time within the control cycle of PEn calculated in (6) becomes zero, reauthorization of PEn within the current control cycle is prohibited regardless of the setting of the RG field, and the use request register bank S30 The PEn use request flag is cleared by writing to the shared resource use request clear register 530 (T1049). As a result, the use request register bank S30 is in either state S3041 in which the use request flags of PEn and PEm are set or in which only the use request of PEm is set. In this control flow, the following description will be continued assuming that the use request flags of PEn and PEm are set.
共有リソース管理プログラムS10は、続いて、図18に示すように、PEnの次に使用権限の付与先となるPEの特定と、特定したPEに対する共有リソース30の権限付与に係る一連の処理を実行する。具体的には、改めて、使用要求レジスタバンクS30の備える共有リソース使用要求フラグレジスタ510を読み出し(T1050)、制御周期内残り時間として正の値をもつPEによる使用権限再付与を含む、共有リソース使用要求の有無をチェック(S1044)する。1以上の使用要求があった場合には、図23に示すフローに基づき、本処理実行時点で最も優先度の高い1つのPEを、次の共有リソース使用権限付与先として動的に決定(S1045)する。
Next, as shown in FIG. 18, the shared resource management program S10 executes a series of processes related to the specification of the PE to which the use authority is given next to PEn and the authorization of the shared
以降、共有リソース管理プログラムS10は、処理S1045で動的に決定した共有リソース使用権限の付与対象とするサテライトPEに対し、共有リソース30の使用権限を付与する処理S1046を実行する。具体的な手順は以下のとおりである。
Thereafter, the shared resource management program S10 executes a process S1046 of granting the use authority of the shared
(1)次に使用権限を付与するPE(PEn、同じPEに対し2回連続で使用権限が付与されるケースを想定する)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1051)し、制御テーブルS20の状態を、PEnが再度使用権限を保持している状態S2006に更新する。 (1) Set the use authorization in-progress flag (IU) field value of the PE (PEn, assuming a case where the use authorization is given twice in a row to the same PE) to which the use authorization is given next (set to true (T1051), and the state of the control table S20 is updated to the state S2006 in which PEn holds the use authority again.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEn用ハードウェアタイマチャネルS41のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEnの制御周期内残り時間(RT)フィールド値を、ハードウェアタイマチャネルS11の初期カウント値レジスタ617に設定(T1017)する。ここで設定される値は、1回目の使用権限付与時にPEnが実際に共有リソース30を占有した時間に相当する値を差し引いた値である。
(2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel S41 for PEn to which the next usage authorization is given, the remaining time within the control cycle of PEn in the setting of the control table S20 ( RT) A field value is set in the initial count value register 617 of the hardware timer channel S11 (T1017). The value set here is a value obtained by subtracting a value corresponding to the time when the PEn actually occupied the shared
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0およびPEn用ハードウェアタイマチャネルS11、S41の同時起動を要求(T1018、T1019)する。PEnに対する1回目の権限付与の場合と同様、起動要求を受けたハードウェアタイマチャネルS11、S41はそれぞれ動作状態(S1106、S4141)に遷移し、いずれも当該ハードウェアタイマチャネルS11、S41の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。
(3) Requests simultaneous activation of PE0 and PEn hardware timer channels S11 and S41 (T1018, T1019) by writing to the start trigger register 625 of the use
第2の制御フローと比較し、本制御フローによれば、サテライトPEが実際に共有リソース30を使用した時間が制御テーブルS20内の制御周期内上限時間の設定より短い場合に、例えば、非定常な割り込み処理による共有リソース使用要求に対して余剰時間を割り当てることにより、共有リソース30が未使用となる無駄時間を削減し、共有リソース30の利用効率を向上させることができる。
Compared with the second control flow, according to this control flow, when the time when the satellite PE actually uses the shared
<第4の共有リソース使用権限付与制御フロー>
図19〜図21は、第4実施形態に係るマイコンの共有リソース使用権限付与の動作を示すフローチャートである。
第4の共有リソース使用権限付与制御フローでは、第2の共有リソース使用権限付与制御フローの例示に対し、さらに(1)、(3)および(4)の条件が異なる。
<Fourth shared resource use authorization control flow>
19 to 21 are flowcharts showing the operation of giving the shared resource use right of the microcomputer according to the fourth embodiment.
In the fourth shared resource use authorization control flow, conditions of (1), (3) and (4) are further different with respect to the second shared resource use authorization control flow example.
(1)使用要求レジスタ50は2バンク(使用要求レジスタバンク50−0、50−1)構成とし、使用要求レジスタバンクS31、S32(Bank−0、Bank−1)とする。
(1) The
(3)制御テーブル140の設定に関し、マスタPE(PE0)のイネーブル(EN)フィールドを無効に設定し、さらに、全サテライトPEについて制御周期内権限再付与(RG)フィールドを無効に、それぞれ設定する。 (3) Regarding the setting of the control table 140, the enable (EN) field of the master PE (PE0) is set to be invalid, and the authority re-granting (RG) field within the control period is set to be invalid for all satellite PEs. .
(4)図8(b)を用いて概念的に示したように、各制御周期の全体について、次制御周期における共有リソース使用要求を受け付ける使用要求受け付けウィンドウ期間として設定する。 (4) As conceptually shown using FIG. 8B, the entire control cycle is set as a use request reception window period for receiving a shared resource use request in the next control cycle.
第1のサテライトPEであるPEnには、使用権限制御装置60Aの備えるハードウェアタイマチャネルS41が関連付けられ、PEnおよびPEn上で動作するアプリケーションS40への共有リソース使用権限付与の開始/終了タイミングを制御する。マスタPE(PE0)についても同様に、ハードウェアタイマチャネルS41とは独立したハードウェアタイマチャネルS11が関連付けられ、望ましくは、PE0上で動作する共有リソース管理プログラムS10による共有制御処理の一部として、使用権限を保持するサテライトPEに関連付けられたハードウェアタイマチャネルS41の状態および動作を複製(レプリケーション)したレプリカとして利用する。
The PEn that is the first satellite PE is associated with the hardware timer channel S41 included in the use
PEn上で動作するアプリケーションS40は、2バンク構成の使用要求レジスタバンクS31、S32内のうち裏バンク側の使用要求レジスタバンク内の要求フラグをセットし、共有リソース管理プログラムS10は、表バンク側の使用要求レジスタバンクに蓄積された共有リソース使用要求、および制御テーブルS20に設定された制御情報をそれぞれ参照/更新し、さらに制御周期ごとにバンクの表裏を切り替えながら、使用権限付与順序の決定と使用権限制御装置60Aの制御を行う。共有制御の開始に先立ち、制御テーブルS20は適切に設定されているものとする。また、制御開始時点では、2つの使用要求レジスタバンクS31、S32のうち、使用要求レジスタバンクS32が表バンク(カレントバンクとも呼ぶ)、使用要求レジスタバンクS31が裏バンクであるとする。
The application S40 operating on the PEn sets the request flag in the use request register bank on the back bank side among the use request register banks S31 and S32 of the two banks, and the shared resource management program S10 is executed on the table bank side. Reference and update of shared resource usage requests stored in the usage request register bank and control information set in the control table S20, respectively, and determination and use of the usage authority granting sequence while switching the front and back of the bank for each control cycle The
図19において、共有リソース管理プログラムS10が、図示しないハードウェアもしくはソフトウェア手段を用いて制御周期の開始タイミングを検出すると、以下の初期化処理S1061を順次実行する。 In FIG. 19, when the shared resource management program S10 detects the start timing of the control cycle using hardware or software means (not shown), the following initialization process S1061 is sequentially executed.
(1)使用権限制御装置60Aが備える停止トリガレジスタ626への書き込みにより、全ハードウェアタイマチャネルS11、S41の同時停止を要求(T1001、T1002)する。停止要求を受けたPE0およびPEn用ハードウェアタイマチャネルS11、S41は、それぞれ停止状態(S1101、S4101)となる。
(1) A simultaneous stop of all the hardware timer channels S11 and S41 is requested (T1001, T1002) by writing to the
(2)この時点で表バンクに相当する、使用要求レジスタバンクS32が備える共有リソース使用要求クリアレジスタ530への書き込みにより全PEの使用要求フラグをクリアすることで、全PEの使用要求フラグが無効な状態(S3261)となるよう、共有リソース使用要求フラグレジスタ510の内容を更新(T1061)する。
(2) At this time, the use request flags of all PEs are invalidated by clearing the use request flags of all PEs by writing to the shared resource use request
(3)所定の手順により使用要求レジスタバンクS31、S32の表裏バンクを切り替え(T1062)、使用要求レジスタバンクS31を表バンクとする(S3161)。 (3) The front and back banks of the use request register banks S31 and S32 are switched according to a predetermined procedure (T1062), and the use request register bank S31 is set as the front bank (S3161).
(4)制御テーブルS20の全PEについて、使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1004)し、制御周期内残り時間(RT)フィールド値は、制御周期内上限時間(PT)フィールド値からハードウェアタイマチャネルS11、S41内のカウントレジスタに設定可能な値に変換した値(以下換算値と呼ぶ)に更新(T1005)することで、制御周期開始時点での制御テーブルS20の初期状態(S2001)とする。 (4) For all the PEs in the control table S20, the use authority granting flag (IU) field value is cleared (set to false) (T1004), and the remaining time in the control cycle (RT) field value is the upper limit time in the control cycle. The control table at the start of the control cycle is updated (T1005) to a value (hereinafter referred to as a converted value) converted from a (PT) field value to a value that can be set in the count registers in the hardware timer channels S11 and S41. Let S20 be the initial state (S2001).
(5)各サテライトPEに関連付けられたハードウェアタイマチャネルの初期カウント値レジスタ617に対し、制御テーブルS20の制御周期内残り時間(RT)フィールド値をそれぞれ設定(T1006)する。本制御フローでは、PE0用ハードウェアタイマチャネルS11を用いて使用要求受け付けウィンドウ期間を計測する必要はないため、この時点ではハードウェアタイマチャネルS11の設定や起動は行わなくてよい。 (5) In the initial count value register 617 of the hardware timer channel associated with each satellite PE, the remaining control period (RT) field value of the control table S20 is set (T1006). In this control flow, since it is not necessary to measure the use request reception window period using the PE0 hardware timer channel S11, it is not necessary to set or start the hardware timer channel S11 at this time.
共有リソース管理プログラムS10と同様の手段により制御周期の開始タイミングを検出した、PEn上で動作するアプリケーションS40は、現在の、または/および、次の制御周期に実行すべき処理に関する初期化等、所定の前処理を実行(S4061)する。次制御周期に実行すべき処理が共有リソース使用権限の付与を必要とする場合には、前処理の少なくとも一部として、裏バンク側である使用要求レジスタバンクS32内にあるPEn用共有リソース使用要求セットレジスタへの書き込みにより、PEnの使用要求フラグをセット(T4061)する。 The application S40 operating on the PEn, which has detected the start timing of the control cycle by means similar to the shared resource management program S10, performs predetermined processing such as initialization related to processing to be executed in the current or / and next control cycle. The pre-processing is executed (S4061). If the process to be executed in the next control cycle requires the assignment of shared resource use authority, the shared resource use request for PEn in the use request register bank S32 on the back bank side as at least a part of the pre-processing By writing to the set register, the use request flag of PEn is set (T4061).
また、図示しないが、PEnとは異なるサテライトPE(PEmとする)上で動作するアプリケーションも、同様の手順により、使用要求レジスタバンクS32内にあるPEmの使用要求フラグをセットする。この結果、現制御周期終了の時点で、使用要求レジスタバンクS32にはPEnおよびPEmの使用要求フラグがセットされた状態S3262となる。 Although not shown, an application operating on a satellite PE (PEm) different from PEn also sets the PEm use request flag in the use request register bank S32 by the same procedure. As a result, at the end of the current control cycle, it becomes a state S3262 in which use request flags of PEn and PEm are set in the use request register bank S32.
第2の共有リソース使用権限付与制御フローと同様、前処理を完了したPEn上のアプリケーションS40は、共有リソース管理プログラムS10によるハードウェアタイマチャネルS41の起動要求に応じて、使用権限制御装置60Aから使用権限付与期間開始イベントを要因とする割り込みが要求されるのを待つ。当該割り込み要求までの期間を別のタスク処理の実行に当ててもよい。なお、アプリケーションS40には、使用権限付与期間開始イベントを要因とする割り込みと、制御周期との対応関係を保持する内部リソースとして、前制御周期に共有リソース30の使用権限付与を要求したか否かを示すフラグを設けてもよい。
Similar to the second shared resource use authority granting control flow, the application S40 on the PEn that has completed the preprocessing is used from the use
制御テーブルS20の初期設定に続き、共有リソース管理プログラムS10は、表バンク側である使用要求レジスタバンクS31の備える共有リソース使用要求フラグレジスタ510を読み出し(T1063)、前制御周期に蓄積された共有リソース使用要求の有無をチェック(S1062)する。説明を簡単にするため、この時点では、どのサテライトPEn、PEmからも使用要求がなかったものとし、現制御周期における使用権限付与に係る処理を終了する。
Following initialization of the control table S20, the shared resource management program S10 reads the shared resource use
共有リソース管理プログラムS10が、再度制御周期の開始タイミングを検出すると、改めて以下の初期化処理S1061Aを順次実行する。 When the shared resource management program S10 detects the start timing of the control cycle again, the following initialization process S1061A is sequentially executed again.
(1)使用権限制御装置60Aが備える停止トリガレジスタ626への書き込みにより、全ハードウェアタイマチャネルS11、S41の同時停止を要求(T1001A、T1002A)する。停止要求を受けたPE0およびPEn用ハードウェアタイマチャネルS11、S41は、それぞれ停止状態(S1101A、S4101A)へ遷移、もしくは停止状態を維持する。
(1) A simultaneous stop of all the hardware timer channels S11 and S41 is requested (T1001A, T1002A) by writing to the
(2)この時点で表バンクに相当する、使用要求レジスタバンクS31が備える共有リソース使用要求クリアレジスタ530への書き込みにより全PEの使用要求フラグをクリアすることで、全PEの使用要求フラグが無効な状態(S3162)となるよう、共有リソース使用要求フラグレジスタ510の内容を更新(T1064)する。
(2) At this time, the use request flags of all PEs are invalidated by clearing the use request flags of all PEs by writing to the shared resource use request
(3)所定の手順により使用要求レジスタバンクS31、S32の表裏バンクを切り替え(T1065)、使用要求レジスタバンクS32を表バンクとする(S3263)。 (3) The front and back banks of the use request register banks S31 and S32 are switched according to a predetermined procedure (T1065), and the use request register bank S32 is set as the front bank (S3263).
(4)制御テーブルS20の全PEについて、使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1004A)し、制御周期内残り時間(RT)フィールド値は、制御周期内上限時間(PT)フィールド値からハードウェアタイマチャネルS11、S41内のカウントレジスタに設定可能な値に変換した値(以下換算値と呼ぶ)に更新(T1005A)することで、制御周期開始時点での制御テーブルS20の初期状態(S2001A)とする。 (4) For all PEs in the control table S20, the use authority granting flag (IU) field value is cleared (set to false) (T1004A), and the remaining time in the control cycle (RT) field value is the upper limit time in the control cycle. The control table at the start of the control cycle is updated (T1005A) to a value (hereinafter referred to as a converted value) converted from a (PT) field value to a value that can be set in the count registers in the hardware timer channels S11 and S41. Let S20 be the initial state (S2001A).
(5)各サテライトPEに関連付けられたハードウェアタイマチャネルの初期カウント値レジスタ617に対し、制御テーブルS20の制御周期内残り時間(RT)フィールド値をそれぞれ設定(T1006A)する。前制御周期の場合と同様、この時点では、PE0用ハードウェアタイマチャネルS11の設定や起動は行わなくてよい。
(5) In the initial count value register 617 of the hardware timer channel associated with each satellite PE, set the remaining time (RT) field value within the control period of the control table S20 (T1006A). As in the case of the previous control cycle, at this time, setting or activation of the hardware timer channel S11 for
共有リソース管理プログラムS10は、続いて、図20に示すように、表バンク側である使用要求レジスタバンクS32の備える共有リソース使用要求フラグレジスタ510を読み出し(T1066)、前制御周期に蓄積された共有リソース使用要求の有無をチェック(S1062A)する。1以上の使用要求があった場合には、図22に示すフローに基づき、共有リソース使用権限の付与順序を一括して決定(S1004A)し、制御テーブルS20のうち、少なくとも共有リソース30の使用を要求した全PEについて、決定した付与順序を特定する値を制御周期内権限付与順序(OR)フィールドに設定する(T1015A)。さらに望ましくは、共有リソース30の使用要求なし、制御テーブルS20内の制御ポリシ設定が無効などの所定の理由により、現制御周期における共有リソース使用権限付与の対象外となったPEについては、付与対象外であることを示す所定の値を、当該PEのORフィールドに設定してよい。
Subsequently, as shown in FIG. 20, the shared resource management program S10 reads the shared resource use
以降、共有リソース管理プログラムS10は、処理S1004Aで決定した共有リソース使用権限の付与順序に従って、付与対象とするサテライトPEに対し共有リソース30の使用権限を付与する。具体的な手順は以下の通りである。
Thereafter, the shared resource management program S10 grants the use authority of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次(または最初)に使用権限を付与すべきサテライトPEを特定(S1005A)する。特定したPE(PEnとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1016A)し、制御テーブルS20の状態を、PEnが使用権限を保持している状態S2004Aに更新する。 (1) Referring to the control cycle in-cycle authorization granting order (OR) field of the control table S20, the satellite PE to be granted the usage authorization next (or first) is specified (S1005A). The in-use granting flag (IU) field value of the identified PE (PEn) is set (set to true) (T1016A), and the state of the control table S20 is changed to the state S2004A in which the PEn holds the use right Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEn用ハードウェアタイマチャネルS41のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEnの制御周期内残り時間(RT)フィールド値を、チャネルS11の初期カウント値レジスタに設定(T1017A)する。 (2) In order to operate the hardware timer channel S10 for PE0 as a replica of the hardware timer channel S41 for PEn to which the next usage authorization is given, the remaining time within the control cycle of PEn in the setting of the control table S20 ( RT) Set the field value to the initial count value register of channel S11 (T1017A).
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0およびPEn用ハードウェアタイマチャネルS11、S41の同時起動を要求(T1018A、T1019A)する。起動要求を受けたハードウェアタイマチャネルS11、S41はそれぞれ動作状態(S1104A、S4102A)に遷移し、いずれも当該ハードウェアタイマチャネルS11、S41の現カウント値レジスタ616にコピーされた初期カウント値レジスタ617の値を初期値として、所定の条件に基づくデクリメント動作を開始する。ここで、ハードウェアタイマチャネルS41がカウント動作状態であることと、共有リソース使用権限をPEnに対し付与中であることは等価であり、2つのハードウェアタイマチャネルS11、S41は同期してデクリメント動作を行う。
(3) Requests simultaneous activation of the PE0 and PEn hardware timer channels S11 and S41 (T1018A and T1019A) by writing to the
共有リソース管理プログラムS10から、PEn用ハードウェアタイマチャネルS41に対する起動要求T1018Aを受けると、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPEnに対する使用権限付与期間開始イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは、後者のイベントを要因とする割り込みのみ許可に設定しているため、ハードウェアタイマチャネルS41は、当該イベントを要因として使用権限付与期間の開始を通知する割り込みを、使用権限割り込み信号を経由しPEnに要求(T4121A)する。
When the activation request T1018A for the hardware timer channel S41 for PEn is received from the shared resource management program S10, the use of the hardware timer channel S11 to PEn is performed in the interrupt factor register 635A provided in the interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間開始イベントを要因とする割り込み要求T4121Aを検出したアプリケーションS40は、使用権限付与期間開始に係る処理S4021Aを実行する。すなわち、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PEn用ハードウェアタイマチャネルS41からPEnに対する使用権限付与期間開始イベントの発生状態を保持するフィールド値を偽にクリア(T1021A)し、続いて、共有リソース30の使用を伴う処理S4003Aを実行する。第2および第2の制御フローと同様、アプリケーションS40は、ハードウェアタイマチャネルS41がカウント動作状態の期間共有リソース30を占有して使用可能である一方、使用権限の付与終了タイミングを通知する権限付与期間終了イベント発生を要因とする割り込み要求が発生するまでには、処理S4003Aを終了しなければならないものとする。
The application S40 that has detected the interrupt request T4121A caused by the use authority grant period start event by the PEn hardware timer channel S41 executes the process S4021A related to the start of the use authority grant period. That is, in the interrupt factor register 635A included in the interrupt
PE0およびPEn用ハードウェアタイマチャネルS11、S41が同時起動要求(T1018A、T1019A)によりカウント動作状態に遷移した後、各ハードウェアタイマチャネルS11、S41の初期カウント値レジスタ617に設定された時間、すなわち制御テーブルS20内のPEnに割り当て可能な制御周期内残り時間(RT)フィールドに指定された時間が経過すると、使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、ハードウェアタイマチャネルS11からPE0に対する使用権限付与期間終了イベント、およびハードウェアタイマチャネルS41からPEnに対する使用権限付与期間終了イベントの発生状態を保持するフィールド値がそれぞれ真にセットされる。本制御フローでは、当該イベントを要因とする割り込みを許可に設定しているため、ハードウェアタイマチャネルS11、S41は、図21に示すように、当該イベントを要因とする使用権限付与期間の終了を通知する割り込みを、使用権限割り込み信号を経由し、それぞれPE0(T1102A)、PEn(T4101A)に同時に要求する。
The time set in the initial count value register 617 of each hardware timer channel S11, S41 after the hardware timer channels S11, S41 for PE0 and PEn transit to the count operation state by the simultaneous start request (T1018A, T1019A), ie, When the time designated in the control cycle remaining time (RT) field assignable to PEn in control table S20 has elapsed, hardware timer is executed in interrupt factor register 635A included in interrupt
PEn用ハードウェアタイマチャネルS41による、使用権限付与期間終了イベントを要因とする割り込み要求を検出したアプリケーションS40は、使用権限付与期間終了に係る処理S4004Aを実行する。 The application S40 that has detected an interrupt request due to the usage authorization period end event by the hardware timer channel S41 for PEn executes processing S4004A related to the termination of the usage authority period.
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PEnを対象とする全イベントの発生を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS41がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS41の停止を要求する(T4005A)。この結果、ハードウェアタイマチャネルS41はカウント停止状態S4103Aに遷移する。
(1) In the interrupt factor register 635A of the interrupt
(2)必要に応じて、アプリケーションS40は割り込みからの回復処理、共有リソース使用権限が不要かつ当該制御周期内に実行すべき処理など、所定の後処理S4005Aを実行する。 (2) As necessary, the application S40 executes predetermined post-processing S4005A such as recovery processing from an interrupt, processing that should not be performed using the shared resource use right and is to be performed within the control period.
PE0用ハードウェアタイマチャネルS11による、使用権限付与期間終了イベントを要因とする割り込み要求を検出した共有リソース管理プログラムS10は、使用権限付与期間終了に係る処理S1063Aとして、以下の処理を順次実行する。
The shared resource management program S10 that has detected an interrupt request due to the usage authorization period end event by the hardware timer channel S11 for
(1)使用権限制御装置60Aの割り込み要求制御部630Aが備える割り込み要因レジスタ635Aにおいて、PE0を対象とする全イベントの発生状態を保持するフィールド値を偽にクリアし、さらに望ましくは、ハードウェアタイマチャネルS11がカウント動作状態を継続している場合には、停止トリガレジスタ626への書き込みにより、ハードウェアタイマチャネルS11の停止を要求する(T1020A)。この結果、ハードウェアタイマチャネルS11はカウント停止状態S1105Aへ遷移する。
(1) In the interrupt factor register 635A included in the interrupt
(2)安全対応のオプション処理として、割り込み要因レジスタ635Aにおいて、PEnを対象とする全イベントの発生状態を保持するフィールド値を偽にクリアするとともに、停止トリガレジスタ626への書き込みにより、PEn用ハードウェアタイマチャネルS41の停止を要求する(T1021A)。
(2) As an option process corresponding to safety, the interrupt factor register 635A clears the field value holding the occurrence state of all the events for PEn to false, and writes to the
(3)制御テーブルS20に関しては、PEnの使用権限付与中フラグ(IU)フィールド値をクリア(偽に設定)(T1022A)し、どのPE0、PEn、PEmも使用権限を保持していない状態S2005Aに更新する。 (3) For the control table S20, clear (set to false) field value of the granting right of use of PEn (IU) field value (T1022A), and no PE0, PEn, and PEm hold the use right in a state S2005A. Update.
(4)続いて、PEnの制御周期内権限再付与(RG)フィールドの設定に応じ、PEnの制御周期内残り時間(RT)フィールド値を更新する。本制御フローでは、RGフィールドを無効(再付与禁止)に設定しており、その場合には、誤って再度PEnに対する使用権限付与が行われないよう、RTフィールド値を残り時間ゼロに相当する換算値に更新(T1023A)する。 (4) Subsequently, the remaining time (RT) field value in the PEn control period is updated according to the setting of the authority re-grantion (RG) field in the PEn control period. In this control flow, the RG field is set to be invalid (prohibition of re-applying), in which case, the RT field value is converted to equivalent to the remaining time zero so that use authorization to PEn is not performed erroneously again. Update to a value (T1023A).
(5)PEnの制御周期内残り時間がゼロとなった場合、表バンク側である使用要求レジスタバンクS32が備える共有リソース使用要求クリアレジスタ530への書き込みにより、PEnの使用要求フラグをクリア(T1067)する。この結果、使用要求レジスタバンクS32は、PEmの使用要求フラグがセットされた状態S3264となる。
(5) When the remaining time in the control cycle of PEn becomes zero, the use request flag of PEn is cleared by writing to the shared resource use request
共有リソース管理プログラムS10は、続いて、PEnの次に使用権限の付与先となるPEの特定と、特定したPEに対する共有リソース30の権限付与に係る一連の処理S1007Aを実行する。具体的な手順は以下のとおりである。
Subsequently, the shared resource management program S10 executes a series of processes S1007A relating to the identification of the PE to which the usage right is to be given next to the PEn and the assignment of the shared
(1)制御テーブルS20の制御周期内権限付与順序(OR)フィールドを参照し、次に使用権限を付与すべきサテライトPEを特定する。特定したPE(PEmとする)の使用権限付与中フラグ(IU)フィールド値をセット(真に設定)(T1025A)し、制御テーブルS20の状態を、PEmが使用権限を保持している状態S2006Aに更新する。 (1) Refer to the authority grant order (OR) field in the control table S20, and specify the satellite PE to which the use authority is to be given next. The in-use granting flag (IU) field value of the identified PE (PEm) is set (set to true) (T1025A), and the state of the control table S20 is changed to the state S2006A in which the PEm holds the use right Update.
(2)PE0用ハードウェアタイマチャネルS11を、次の使用権限付与先であるPEm用ハードウェアタイマチャネル(図示せず)のレプリカとして動作させるため、制御テーブルS20の設定のうち、PEmの制御周期内残り時間(RT)フィールド値を、ハードウェアタイマチャネルS11の初期カウント値レジスタ617に設定(T1026A)する。 (2) In order to operate the PE0 hardware timer channel S11 as a replica of the PEm hardware timer channel (not shown) which is the next use authority grant destination, the PEm control cycle is set in the control table S20. The internal remaining time (RT) field value is set in the initial count value register 617 of the hardware timer channel S11 (T1026A).
(3)使用権限制御装置60Aが備える開始トリガレジスタ625への書き込みにより、PE0用ハードウェアタイマチャネルS11とPEm用ハードウェアタイマチャネル(図示せず)の同時起動を要求(T1027A、T1028A)する。起動要求を受けたハードウェアタイマチャネルS11は動作状態(S1106A)に遷移し、当該ハードウェアタイマチャネルS11の現カウント値レジスタ616にコピーされた初期カウント値レジスタ67の値を初期値として、所定の条件に基づくデクリメント動作を開始する。図示しないPEm用ハードウェアタイマチャネルも、同様の手順によりデクリメント動作を開始し、共有リソース使用権限をPEmに対し付与中であることを示すカウント動作状態となる。
(3) Simultaneous write of the hardware timer channel S11 for
第1の制御フローと比較し、本制御フローによれば、制御周期の一部を使用要求受け付けウィンドウ期間として設定する必要がなくなり、使用要求受け付けウィンドウ期間に相当する時間を、各サテライトPEにおける各種処理や共有リソース30の使用に割り当てることができ、CPUコア等の計算リソースおよび共有リソース30の利用効率をさらに向上させることができる。加えて、サテライトPEからの共有リソース使用要求タイミングに関する時間制約が大幅に緩和される他、制御周期を単位とするソフトウェアパイプライン処理の実装との親和性が高く、アプリケーションの移植を容易化することができる。
Compared with the first control flow, according to the present control flow, it is not necessary to set a part of the control cycle as the use request reception window period, and the time corresponding to the use request reception window period is set in various satellite PEs. It is possible to allocate to use of processing and shared
図22は、図1のマイコンにおける使用権限の付与順序決定処理を示すフローチャートである。図22では、これまで例示した4つの典型的な共有リソース使用権限付与制御フローのうち、本処理開始時点で共有リソース使用要求フラグレジスタ510に蓄積された1以上の共有リソース使用要求に関し、すべての使用要求を対象に現制御周期内の使用権限付与順序を一括して決定する、処理S1004およびS1004Aの詳細フローを示す。
FIG. 22 is a flow chart showing a process of determining the order of granting use authority in the microcomputer of FIG. In FIG. 22, among the four typical shared resource use authorization control flows exemplified above, all of the one or more shared resource use requests stored in shared resource use
ここで、マイコン1、1Bが備える複数のPE10、20−1、20−2、20−3には、それぞれ固有の値をもつPE識別子(ゼロまたは正の整数値、ただしゼロはPE0を示す)が割り当てられている。制御テーブル140内の基本優先度(PR)フィールドに設定可能な値はゼロ(優先度最高、ただしPE0にのみ設定可能とする)または所定の最大値(優先度最低)以下の正の整数値のいずれかである。同じ優先度を持つPE間ではPE識別子の値が小さいものほど高優先度として扱う。また、制御周期内権限付与順序(OR)フィールドに設定する、共有リソース使用権限の付与順序を示す値は、当該制御周期内の付与対象のPEについてはゼロまたはPE数未満の正の整数値のいずれか、付与対象外のPEについては負の整数値(例えば、−1)であり、値ゼロが設定されたPEから昇順に権限付与を行うものとする。
Here, a plurality of
図22において、内部パラメータである順序カウンタNおよび優先度カウンタPをそれぞれゼロに初期化(S901)する。続いて、本処理開始前に読み出した共有リソース使用要求フラグレジスタ510の内容から、共有リソース30の使用要求の有無をチェック(S902)し、使用要求が1つもない場合(S902:No)には、使用権限付与の対象外となった全PEについてORフィールド値を−1に設定(S910)し、本処理を終了する。
In FIG. 22, the order counter N and the priority counter P, which are internal parameters, are initialized to zero (S901). Subsequently, the content of the shared resource use
1以上のPEから使用要求があった場合(S902:Yes)は、制御テーブル140内をPEごとにスキャンする内部パラメータとして、PEカウンタCをゼロに初期化(S903)する。続いて、PE識別子がPEカウンタCの値と一致するPEについて、使用権限付与の対象となり得るかの判定処理として、当該PEのイネーブル(EN)フィールド値が真(有効)、かつ基本優先度(PR)フィールド値が優先度カウンタPの値に一致し、かつ制御周期内残り時間(RT)フィールド値がゼロではない換算値であるかを制御テーブルで確認し、加えて当該PEからの使用要求があるかどうかをチェック(S904)する。付与対象PEであると判定された場合(S904:Yes)には、当該PEのORフィールドに順序カウンタNの値を設定した後、順序カウンタNをインクリメント(S905)する。付与対象PEではないと判定された場合(S904:No)には処理S905をスキップする。 If there is a use request from one or more PEs (S902: Yes), the PE counter C is initialized to zero as an internal parameter for scanning the control table 140 for each PE (S903). Subsequently, as a process of determining whether a PE having a PE identifier that matches the value of the PE counter C can be a target of use authorization, the enable (EN) field value of the PE is true (valid) and the basic priority ( PR) Confirm in the control table whether the field value matches the value of priority counter P and the remaining time in control cycle (RT) field value is not zero, and additionally use request from the relevant PE It is checked whether or not there is (S904). If it is determined that the PE is to be assigned (S904: Yes), the value of the order counter N is set in the OR field of the PE, and then the order counter N is incremented (S905). If it is determined that the PE is not the assignment target PE (S904: No), the process S905 is skipped.
続いて、PEカウンタCをインクリメント(S906)し、PEカウンタCの値が最大値、すなわち((マイコン1、1Bの備えるPE数)−1)以上であるかどうかをチェック(S907)する。処理S907の結果が不成立の場合(S907:No)には処理S904に戻る。
Subsequently, the PE counter C is incremented (S906), and it is checked whether the value of the PE counter C is the maximum value, that is, ((the number of PEs included in the
処理S907の結果が成立の場合(S907:Yes)、次に低い優先度を持つPEに関して同様の処理、すなわち制御テーブル140内のPE単位での設定スキャンと使用権限の付与対象PEへの付与順序設定を実行するため、優先度カウンタPをインクリメント(S908)し、優先度カウンタPの値が所定の最大値以上であるかどうかをチェック(S909)する。処理S909の結果が不成立の場合(S909:No)には処理S903に戻り、成立の場合(S909:Yes)には、使用権限付与の対象外となった全PEについてORフィールド値を−1に設定(S910)し、本処理を終了する。
When the result of the processing S907 is established (S907: Yes), the same processing for the PE with the next lowest priority, that is, the setting scan for each PE in the control table 140 and the order of granting the usage authority to the granting PE In order to execute the setting, the priority counter P is incremented (S908), and it is checked whether the value of the priority counter P is equal to or greater than a predetermined maximum value (S909). If the result of the
図23は、図1のマイコンにおける使用権限の付与先決定処理を示すフローチャートである。図23では、これまで例示した4つの典型的な共有リソース使用権限付与制御フローのうち、本処理開始時点で共有リソース使用要求フラグレジスタ510に蓄積された1以上の共有リソース使用要求に関し、最も優先度の高い1つのPEを次の使用権限付与先として決定する処理S1041およびS1045の詳細フローを示す。
FIG. 23 is a flow chart showing a process of determining a grant destination of use authority in the microcomputer of FIG. In FIG. 23, among the four typical shared resource use authorization control flows exemplified above, the highest priority is given to one or more shared resource use requests stored in shared resource use
ここで、マイコン1、1Bが備える複数のPE10、20−1、20−2、20−3にはそれぞれ固有の値をもつPE識別子(ゼロまたは正の整数値、ただしゼロはPE0を示す)が割り当てられている。制御テーブル140内の基本優先度(PR)フィールドに設定可能な値はゼロ(優先度最高、ただしPE0にのみ設定可能とする)または所定の最大値(優先度最低)以下の正の整数値のいずれかである。同じ優先度を持つPE間ではPE識別子の値が小さいものほど高優先度として扱う。図22の処理とは異なり、制御周期内権限付与順序(OR)フィールドの更新は行わない。
Here, a plurality of
図23において、内部パラメータである優先度カウンタPをゼロに初期化(S921)する。続いて、本処理開始前の読み出した共有リソース使用要求フラグレジスタ510の内容から、使用要求の有無をチェック(S922)し、使用要求が1つもない場合(S922:No)には、次の権限付与先PEがない場合の所定の処理S930を実行した後、本処理を終了する。
In FIG. 23, the priority counter P, which is an internal parameter, is initialized to zero (S921). Subsequently, from the contents of the shared resource use
1以上のPEから使用要求があった場合(S922:Yes)は、制御テーブル140内をPEごとにスキャンする内部パラメータとして、PEカウンタCをゼロに初期化(S923)する。続いて、PE識別子がPEカウンタCの値と一致するPEについて、使用権限付与の対象となりうるかの判定処理として、当該PEのイネーブル(EN)フィールド値が真(有効)、かつ基本優先度(PR)フィールド値が優先度カウンタPの値に一致し、かつ制御周期内残り時間(RT)フィールド値がゼロではない換算値であるかを制御テーブル140で確認し、加えて当該PEからの使用要求があるかどうかをチェック(S924)する。付与対象PEであると判定された場合(S924:Yes)には、当該PEを次の付与先に決定(S925)し、本処理を終了する。 If there is a use request from one or more PEs (S922: Yes), the PE counter C is initialized to zero as an internal parameter for scanning the control table 140 for each PE (S923). Subsequently, as a process of determining whether a PE having the same PE identifier as the value of the PE counter C can be an object of usage authorization, the enable (EN) field value of the PE is true (valid) and the basic priority (PR) ) Check with control table 140 whether the field value matches the value of priority counter P and the remaining time in control cycle (RT) field value is not zero, and additionally use request from the relevant PE It is checked whether or not there is (S924). If it is determined that the PE is to be assigned (S 924: Yes), the PE is determined as the next assignment destination (S 925), and the process ends.
処理S924の結果が不成立の場合(S924:No)、PEカウンタCをインクリメント(S926)し、PEカウンタCの値が最大値、すなわち((マイコン1、1Bの備えるPE数)−1)以上であるかどうかをチェック(S927)する。処理S927の結果が不成立の場合(S927:No)には処理S924に戻る。
If the result of the process S 924 is not satisfied (S 924: No), the PE counter C is incremented (S 926), and the value of the PE counter C is the maximum value, ie, ((the number of PEs provided to the
処理S927の結果が成立の場合(S927:Yes)、次に低い優先度を持つPEに関して同様の処理、すなわち制御テーブル140内のPE単位での設定スキャンを実行するため、優先度カウンタPをインクリメント(S928)し、優先度カウンタPの値が所定の最大値以上であるかどうかをチェック(S929)する。処理S929の結果が不成立の場合(S929:No)には処理S923に戻り、成立の場合(S929:Yes)には、次の権限付与先PEがない場合の所定の処理S930を実行した後、本処理を終了する。
If the result of the
以上説明したように、上述した実施形態によれば、スピンロック処理を用いたアクセス排他制御に比べ、演算要素および共有リソースの利用効率の向上を図ることが可能となるとともに、ユーザが規定する制御ポリシに基づく厳密なスケジューリング制御およびハードリアルタイム性が要求される応用に好適な時間粒度の小さいリソース共有制御を実現することができる。加えて、演算に関与しない処理を削減することでリソース共有制御に係る消費電力を低減することができる。 As described above, according to the above-described embodiment, it is possible to improve the use efficiency of computation elements and shared resources as compared to access exclusive control using spin lock processing, and control specified by the user. It is possible to realize resource sharing control with a small time granularity suitable for applications that require strict scheduling control based on a policy and hard real-time performance. In addition, the power consumption for resource sharing control can be reduced by reducing the processing not involved in the operation.
図24は、図1または図4のマイコンの図8(a)の動作時における消費電力の時間変化の一例を示す図である。
図24において、マイコン1、1Bでは全体の消費電力が平均化されているだけでなく、共有制御に要する消費電力そのものも、ほぼ共有リソース管理プログラムが動作する1つのPE分で上限が決まるため、消費電力の低減に寄与している。
FIG. 24 is a diagram showing an example of a time change of power consumption at the time of operation of FIG. 8A of the microcomputer of FIG. 1 or FIG.
In FIG. 24, not only the entire power consumption is averaged in the
図25は、図1または図4のマイコンの図8(b)の動作時における消費電力の時間変化の一例を示す図である。
図25において、図8(a)の方法では、共有リソース使用要求R、使用権限の付与順序の決定A、ハードウェアタイマチャネルの設定および起動S、アプリケーションの実行Uが時系列的に実行される。これに対して、図8(a)の方法では、共有リソース使用要求Rは、使用権限の付与順序の決定A、ハードウェアタイマチャネルの設定および起動S、またはアプリケーションの実行Uと並列に実行される。
このため、図8(b)の方法では、共有リソース使用要求Rがあると、その処理に必要な消費電力が図8(a)の方法の消費電力に上乗せされる。
FIG. 25 is a diagram showing an example of the time change of the power consumption at the time of the operation of FIG. 8 (b) of the microcomputer of FIG. 1 or FIG.
Referring to FIG. 25, in the method of FIG. 8A, the shared resource use request R, the determination A of the grant order of use authority, the setting and activation S of the hardware timer channel, and the execution U of the application are executed in time series. . On the other hand, in the method of FIG. 8 (a), the shared resource use request R is executed in parallel with the determination A of the grant of use authority, the setting and activation S of the hardware timer channel, or the execution U of the application. Ru.
For this reason, in the method of FIG. 8 (b), when there is a shared resource use request R, the power consumption necessary for the processing is added to the power consumption of the method of FIG. 8 (a).
図26は、本実施形態の比較例に係るマイコンの構成例を示すブロック図である。
図26において、マイコン1001は、内蔵機能モジュールとして、複数のPE1010−0、1010−1、1010−2、1010−3、共有リソース1030、共有リソース1030のロック状態を保持するロック変数レジスタ1080を含む。PE1010−0、1010−1、1010−2、1010−3は、演算要素として用いることができる。PE1010−0、1010−1、1010−2、1010−3、共有リソース1030およびロック変数レジスタ1080はPE間接続バス1040を介して相互接続される。
FIG. 26 is a block diagram showing a configuration example of a microcomputer according to a comparative example of the present embodiment.
In FIG. 26, the
各PE1010−0、1010−1、1010−2、1010−3は、所定の命令セットアーキテクチャに従って作成されたプログラムを実行する1つ以上のCPUコア1100、CPUコア1100で実行されるプログラムからのアクセス要求に応じて、当該PEとPE間接続バス1040との間のアクセスを制御するバスインタフェース1120、プログラム、および/またはプログラム実行に必要なデータを格納するキャッシュメモリおよび/またはRAMメモリからなるPE内部メモリ1130を含む。バスインタフェース1120はバスインタフェース接続インタフェース1121により、PE内部メモリ1130はPE内部メモリ−CPUコア間接続インタフェース1132により、それぞれCPUコア1100との間で相互接続される。さらに、PE内部メモリ1130はPE内部メモリ−バスインタフェース間接続インタフェース1131により、バスインタフェース1120との間で相互接続される。
Each PE 1010-0, 1010-1, 1010-2, 1010-3 has one or
共有リソース1030は、複数のPE1010−0、1010−1、1010−2、1010−3で動作するアプリケーションが時分割の態様で共有する資源である。共有リソース1030は、例えば、マイコン1001の外部に接続されたハードウェアとの通信を制御する通信モジュールのような、1つ以上のマイコン内蔵周辺モジュールや、PE内部もしくは外部に接続された1つ以上のメモリのうちの少なくとも一部領域であってよい。説明を簡単にするため、共有リソース1030は1つのみ図示するが、2つ以上であっても構わない。
The shared
ロック変数レジスタ1080は、PE間接続バス1040を経由して各PE1010−0、1010−1、1010−2、1010−3からアクセス可能とされ、マイコン1001のもつアドレス空間上の一部領域に配置される。ロック変数レジスタ1080は共有リソース1030ごとに設けられ、当該共有リソース1030が使用中(ロック状態)であるか否かを示すフラグを保持する。
The
図27は、図26のマイコンにおけるロック変数を利用したアクセス排他制御方法を示すタイミングチャートである。
図27において、ロック変数レジスタ1080に保持されるロック変数は、非ロック状態(OFF)またはロック状態(ON)のいずれかの状態をも持つ。各PE1010−0、1010−1、1010−2、1010−3で動作するアプリケーションが共有リソース1030を使用する場合、アプリケーションは実際の使用に先立ちロック変数の状態をチェックし、非ロック状態であれば、ロック変数をロック状態に設定(P)することでロックを取得する。ロックを取得したPEは、共有リソース1030を使用する処理を実行(U)する。処理が終了すると、ロックを取得したPEは、ロック変数を非ロック状態に設定(V)することで、共有リソース1030を解放する。
FIG. 27 is a timing chart showing an access exclusion control method using a lock variable in the microcomputer of FIG.
In FIG. 27, the lock variable held in the
ここで、複数のPE1010−0、1010−1、1010−2、1010−3が同時に共有リソース1030の使用を要求した場合、ロック取得に失敗したPEは、ロック変数が非ロック状態になるまでロック変数をチェックし続けるスピンロック(SL)処理を実行する。そして、ロック取得に失敗したPEは、ロック変数が非ロック状態になった時にロックを取得することにより、共有リソース1030に対する排他アクセスを実現できる。
Here, when a plurality of PEs 1010-0, 1010-1, 1010-2, and 1010-3 request to use the shared
図28は、図26のマイコンにおける消費電力の時間変化の一例を示す図である。
図28において、図24および図25の消費電力と同一条件で比較するため、各PE1010−1、1010−2、1010−3では、共有リソース使用権限の付与が必要な1つのタスクのみ実行する場合を想定している。比較例では、特に複数のPE1010−1、1010−2、1010−3が、スピンロックしながら使用権限の付与を長時間待ち続けている期間の消費電力が大きく、マイコン1001全体のピークおよび平均消費電力を押し上げている。
FIG. 28 is a diagram showing an example of a time change of power consumption in the microcomputer of FIG.
In FIG. 28, in order to compare with the power consumption of FIG. 24 and FIG. 25 under the same conditions, each PE 1010-1, 1010-2, 1010-3 executes only one task that needs to be given a shared resource use authority. Is assumed. In the comparative example, in particular, the plurality of PEs 1010-1, 1010-2, and 1010-3 have large power consumption during a long period of waiting for granting the use authority while being spin-locked, and the peak and average consumption of the
スピンロック(SL)処理による消費電力は、同時に共有リソース1030の使用を要求するPEの個数に比例して増大する。このため、マイコン1001に搭載されるPEの個数の増大に伴ってマイコン1001全体のピークの消費電力が増大する。
The power consumption due to spin lock (SL) processing increases in proportion to the number of PEs that simultaneously request the use of the shared
これに対して、図1および図4のマイコン1、1Bでは、スピンロック(SL)処理を実行することなく、共有リソース1030に対する排他アクセスを実現することができ、その分に対応した消費電力を削減することができる。このため、マイコン1、1Bに搭載されるPEの個数が増大した場合においても、マイコン1、1B全体のピークの消費電力の増大を防止することができる。
On the other hand, the
1、1B:マイコン、10、20−1、20−2、20−3:演算要素(プロセッサエレメント、PE)、30:共有リソース、40:PE間接続バス、50:使用要求レジスタ、50−0、50−1:使用要求レジスタバンク、60、60A:使用権限制御装置、61、62−1、62−2、62−3:使用権限制御割り込み信号、70:PE間割り込み制御装置、71−0、71−1、71−2、71−3:PE間割り込み信号、100:CPUコア、110:割り込みコントローラ、111:割り込みコントローラ接続インタフェース、120:バスインタフェース、121:バスインタフェース接続インタフェース、130:PE内部メモリ、131:PE内部メモリ−バスインタフェース間接続インタフェース、132:PE内部メモリ−CPUコア間接続インタフェース、140:制御テーブル、141:制御テーブル接続インタフェース、510:共有リソース使用要求フラグレジスタ、520−0、520−1、520−2、520−3:共有リソース使用要求セットレジスタ、530:共有リソース使用要求クリアレジスタ、600:バスインタフェース、610−1、610−2、610−3、610−4:ハードウェアタイマチャネル、611:ハードウェアタイマチャネル接続インタフェース、612−1、612−2、612−3、612−4:トリガ制御信号、613−1、613−2、613−3、613−4:タイマ値比較結果信号、615:チャネル状態レジスタ、616:現カウント値レジスタ、617:初期カウント値レジスタ、620:トリガ制御部、621:トリガ制御部接続インタフェース、625:開始トリガレジスタ、626:停止トリガレジスタ、630、630A:割り込み要求制御部、631:割り込み要求制御部接続インタフェース、635、635A:割り込み要因レジスタ、636、636A:割り込みイネーブルレジスタ、637:チャネルマッピングレジスタ、710−m、:PE間割り込み要求フラグレジスタ、720−n、:PE間割り込み要求セットレジスタ、730−m、:PE間割り込み要求クリアレジスタ
1, 1B: Microcomputer, 10, 20-1, 20-2, 20-3: Arithmetic element (processor element, PE), 30: Shared resource, 40: Connection bus between PEs, 50: Use request register, 50-0 50-1: Usage request register bank, 60, 60A: Usage authority control device, 61, 62-1, 62-2, 62-3: Usage authority control interrupt signal, 70: Inter-PE interrupt control device, 71-0 71-1, 71-2, 71-3: Interrupt signal between PEs, 100: CPU core, 110: Interrupt controller, 111: Interrupt controller connection interface, 120: Bus interface, 121: Bus interface connection interface, 130: PE Internal memory, 131: PE internal memory-bus interface connection interface, 132: PE internal Memory-CPU core connection interface 140: Control table 141: Control table connection interface 510: Shared resource use request flag register 520-0, 520-1, 520-2, 520-3: Shared resource use request set Register, 530: Shared resource use request clear register, 600: Bus interface, 610-1, 610-2, 610-3, 610-4: Hardware timer channel, 611: Hardware timer channel connection interface, 612-1 612-2, 612-3, 612-4: Trigger control signal, 613-1, 613-2, 613-3, 613-4: Timer value comparison result signal, 615: Channel status register, 616: Current count value register 617: Initial count value register 620: Riga control unit, 621: Trigger control unit connection interface, 625: Start trigger register, 626: Stop trigger register, 630, 630A: Interrupt request control unit, 631: Interrupt request control unit connection interface, 635, 635A: Interrupt factor register, 636, 636A: Interrupt enable register, 637: Channel mapping register, 710-m ,: Inter-PE interrupt request flag register, 720-n ,: Inter-PE interrupt request set register, 730-m ,: Inter-PE interrupt request clear register
Claims (15)
前記使用権限管理装置の動作状態に基づいて前記共有リソースを排他的に使用する複数の第2演算装置と、
前記複数の第2演算装置による前記共有リソースの使用要求の有無を保持する記憶装置とをさらに備える請求項1に記載の電子制御装置。 A right of use management device that holds at least one of the presence / absence of the right of use of the shared resource and the use permission amount set based on the policy information;
A plurality of second computing devices that exclusively use the shared resource based on the operating state of the usage right management device;
The electronic control device according to claim 1, further comprising: a storage device that holds presence or absence of a use request for the shared resource by the plurality of second computing devices.
前記記憶装置に保持された要求状態および前記ポリシ情報に基づいて、前記複数の第2演算装置から選択した1つの第2演算装置の共有リソース使用権限が有効となるよう前記使用権限管理装置の動作状態を更新し、
前記使用許可量と所定値との比較結果に基づいて、前記選択した1つの第2演算装置の共有リソース使用権限が無効となるよう前記使用権限管理装置の動作状態を更新する請求項3に記載の電子制御装置。 The first computing device is
The operation of the usage authority management device such that the shared resource usage authority of one second computing device selected from the plurality of second computing devices becomes effective based on the request state and the policy information held in the storage device Update the status,
The operation state of the usage right management device is updated so that the shared resource usage right of the selected one second computing device becomes invalid based on the comparison result of the usage permission amount and a predetermined value. Electronic control unit.
所定の制御周期を時間単位として動作し、
前記制御周期内の所定期間に前記使用許可量を再設定する請求項4に記載の電子制御装置。 The first computing device is
Operates on a predetermined control cycle time basis,
The electronic control device according to claim 4, wherein the use permission amount is reset in a predetermined period within the control cycle.
所定の時間経過、または前記共有リソースへのアクセスに応じて前記カウンタのカウント値を更新する請求項2に記載の電子制御装置。 The usage right management device comprises one or more counters,
The electronic control unit according to claim 2, wherein the count value of the counter is updated in response to a predetermined time lapse or access to the shared resource.
前記第2演算装置からの使用要求を記憶する記憶装置と、
前記共有リソースの使用のスケジューリング結果に基づいて、前記共有リソースの使用権限を前記第2演算装置に付与する使用権限制御装置とをさらに備え、
前記第1演算装置は、
前記第2演算装置からの使用要求を受け付け、
前記使用要求を受け付けた前記第2演算装置間において、前記ポリシ情報に基づいて前記共有リソースの使用のスケジューリングを実行し、
前記第2演算装置は、前記使用権限制御装置から付与された使用権限に基づいて前記共有リソースを排他的に使用する請求項1に記載の電子制御装置。 A plurality of second computing devices using the shared resource;
A storage device for storing a use request from the second computing device;
A usage right control device for granting the usage right of the shared resource to the second computing device based on a scheduling result of usage of the shared resource;
The first computing device is
Accepting a use request from the second computing device;
Scheduling of use of the shared resource is executed based on the policy information between the second computing devices that have received the use request,
The electronic control device according to claim 1, wherein the second computing device exclusively uses the shared resource based on the usage right granted by the usage right control device.
前記共有リソースの使用のスケジューリングと、前記共有リソースの使用権限の付与が制御周期内に繰り返して実行され、前記使用要求を受け付けが、前記共有リソースの使用のスケジューリングが実行される制御周期の前の制御周期内に実行される請求項12に記載の電子制御装置。 The acceptance of the use request, the scheduling of the use of the shared resource, and the granting of the use right of the shared resource are repeatedly performed within a control cycle, or
The scheduling of the use of the shared resource and the granting of the usage right of the shared resource are repeatedly performed in a control cycle, and the acceptance of the use request is before the control cycle in which the scheduling of the usage of the shared resource is executed. The electronic control device according to claim 12, which is performed within a control cycle.
前記第2演算装置は、自身に対応付けられたカウンタの動作に基づいて前記共有リソースを排他的に使用する請求項12に記載の電子制御装置。 The use authority control device includes counters associated with each of the second arithmetic devices one to one,
The electronic control unit according to claim 12, wherein the second computing device exclusively uses the shared resource based on an operation of a counter associated with itself.
前記複数の演算装置は、
前記共有リソースの使用を要求し、
前記共有リソースの使用の要求に応じて前記複数の演算装置のそれぞれに時分割的に割り当てられた前記共有リソースの使用権限に基づいて、前記共有リソースを排他的に使用する電子制御装置。
Equipped with multiple computing devices that use shared resources,
The plurality of arithmetic devices are
Request the use of the shared resource,
An electronic control unit exclusively using the shared resource based on the usage authority of the shared resource time-divisionally assigned to each of the plurality of arithmetic devices in response to a request for use of the shared resource.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018008895A JP6995644B2 (en) | 2018-01-23 | 2018-01-23 | Electronic control device |
DE112019000240.6T DE112019000240T5 (en) | 2018-01-23 | 2019-01-18 | Electric control device |
PCT/JP2019/001385 WO2019146509A1 (en) | 2018-01-23 | 2019-01-18 | Electronic control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018008895A JP6995644B2 (en) | 2018-01-23 | 2018-01-23 | Electronic control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019128711A true JP2019128711A (en) | 2019-08-01 |
JP6995644B2 JP6995644B2 (en) | 2022-01-14 |
Family
ID=67394969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018008895A Active JP6995644B2 (en) | 2018-01-23 | 2018-01-23 | Electronic control device |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6995644B2 (en) |
DE (1) | DE112019000240T5 (en) |
WO (1) | WO2019146509A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023176638A (en) * | 2022-05-31 | 2023-12-13 | トヨタ自動車株式会社 | Information processing apparatus, information processing method, and information processing program |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07281942A (en) * | 1994-04-14 | 1995-10-27 | Asahi Kasei Micro Syst Kk | Arbitration method for shared resources |
JPH10143467A (en) * | 1996-10-28 | 1998-05-29 | Motorola Inc | Method and device for arbitrating bus ownership in data processing system |
JP2011107939A (en) * | 2009-11-17 | 2011-06-02 | Toyota Motor Corp | Redundant system information processor |
WO2011114496A1 (en) * | 2010-03-18 | 2011-09-22 | 富士通株式会社 | Multi-core processor system, arbitration circuit control method, and arbitration circuit control program |
JP2012150583A (en) * | 2011-01-18 | 2012-08-09 | Toyota Motor Corp | Multiprocessor system |
JP2017228192A (en) * | 2016-06-24 | 2017-12-28 | 日立オートモティブシステムズ株式会社 | Vehicle controller |
JP2018005851A (en) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | Electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08287016A (en) * | 1995-04-14 | 1996-11-01 | Mitsubishi Electric Corp | Cooperation work support system |
KR101696804B1 (en) * | 2010-10-05 | 2017-01-16 | 삼성전자주식회사 | Control apparatus and method for the resource utilization policy over the virtual environment |
US10025711B2 (en) * | 2012-01-16 | 2018-07-17 | Qualcomm Incorporated | Hybrid write-through/write-back cache policy managers, and related systems and methods |
-
2018
- 2018-01-23 JP JP2018008895A patent/JP6995644B2/en active Active
-
2019
- 2019-01-18 DE DE112019000240.6T patent/DE112019000240T5/en active Pending
- 2019-01-18 WO PCT/JP2019/001385 patent/WO2019146509A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07281942A (en) * | 1994-04-14 | 1995-10-27 | Asahi Kasei Micro Syst Kk | Arbitration method for shared resources |
JPH10143467A (en) * | 1996-10-28 | 1998-05-29 | Motorola Inc | Method and device for arbitrating bus ownership in data processing system |
JP2011107939A (en) * | 2009-11-17 | 2011-06-02 | Toyota Motor Corp | Redundant system information processor |
WO2011114496A1 (en) * | 2010-03-18 | 2011-09-22 | 富士通株式会社 | Multi-core processor system, arbitration circuit control method, and arbitration circuit control program |
JP2012150583A (en) * | 2011-01-18 | 2012-08-09 | Toyota Motor Corp | Multiprocessor system |
JP2017228192A (en) * | 2016-06-24 | 2017-12-28 | 日立オートモティブシステムズ株式会社 | Vehicle controller |
JP2018005851A (en) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | Electronic equipment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023176638A (en) * | 2022-05-31 | 2023-12-13 | トヨタ自動車株式会社 | Information processing apparatus, information processing method, and information processing program |
JP7448585B2 (en) | 2022-05-31 | 2024-03-12 | トヨタ自動車株式会社 | Information processing device, information processing method, and information processing program |
Also Published As
Publication number | Publication date |
---|---|
WO2019146509A1 (en) | 2019-08-01 |
JP6995644B2 (en) | 2022-01-14 |
DE112019000240T5 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067796B1 (en) | Managing shared resources in an operating system | |
JP5975629B2 (en) | Memory protection unit and storage element access control method | |
US9536075B2 (en) | Dynamic resource sharing | |
TWI552073B (en) | Generational thread scheduler | |
CN112948321A (en) | Method for managing the operation of a system-on-chip and corresponding system-on-chip | |
US10579413B2 (en) | Efficient task scheduling using a locking mechanism | |
US8918791B1 (en) | Method and system for queuing a request by a processor to access a shared resource and granting access in accordance with an embedded lock ID | |
EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
US9164799B2 (en) | Multiprocessor system | |
US20170344398A1 (en) | Accelerator control device, accelerator control method, and program storage medium | |
JP4457047B2 (en) | Multiprocessor system | |
US10628352B2 (en) | Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device | |
KR102605127B1 (en) | Hierarchical bandwidth allocation bus arbiter | |
JP4656347B2 (en) | Computer system | |
JP2013161299A (en) | Information processing apparatus and interface access method | |
WO2019146509A1 (en) | Electronic control device | |
JP2015158936A (en) | Data processor | |
JP4789269B2 (en) | Vector processing apparatus and vector processing method | |
JP2007109053A (en) | Bus access controller | |
JP2013084219A (en) | Information processing device and abnormality determination method | |
US10481951B2 (en) | Multi-queue device assignment for application groups | |
US11656905B2 (en) | Delegation control based on program privilege level and page privilege level | |
JP2013041361A (en) | Resource arbitration system and resource arbitration method | |
JP2022065218A (en) | Vehicle control device | |
CN117609114B (en) | Multi-core processor data sharing control method and device, memory module and chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211019 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211119 |
|
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: 20211207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6995644 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |