JP7428508B2 - information processing equipment - Google Patents

information processing equipment Download PDF

Info

Publication number
JP7428508B2
JP7428508B2 JP2019216836A JP2019216836A JP7428508B2 JP 7428508 B2 JP7428508 B2 JP 7428508B2 JP 2019216836 A JP2019216836 A JP 2019216836A JP 2019216836 A JP2019216836 A JP 2019216836A JP 7428508 B2 JP7428508 B2 JP 7428508B2
Authority
JP
Japan
Prior art keywords
processing
result
timing
information processing
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019216836A
Other languages
Japanese (ja)
Other versions
JP2021086512A (en
Inventor
辰也 堀口
祐 石郷岡
一 芹沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2019216836A priority Critical patent/JP7428508B2/en
Priority to DE112020005072.6T priority patent/DE112020005072T5/en
Priority to PCT/JP2020/042368 priority patent/WO2021106608A1/en
Publication of JP2021086512A publication Critical patent/JP2021086512A/en
Application granted granted Critical
Publication of JP7428508B2 publication Critical patent/JP7428508B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction

Description

本発明は、情報処理装置に関する。 The present invention relates to an information processing device.

近年、産業用電子制御装置(ECU:Electronic Control Unit)を支える組込みシステムの開発においては、制御性能の向上、厳格化する規制への対応、また装置の自律化に伴う制御演算処理増大といった、アプリケーションの高負荷化が進んでいる。これに対応する形で、ECUにおいてもマルチコア化、メニーコア化といったハードウェアの高性能化が進んでいる。 In recent years, in the development of embedded systems that support industrial electronic control units (ECUs), applications such as improving control performance, responding to increasingly strict regulations, and increasing control calculation processing as equipment becomes autonomous have been increasing. The load on computers is increasing. In response to this, the performance of ECU hardware such as multi-core and many-core is progressing.

一方で、これら高性能化したハードウェア上に搭載されるソフトウェア開発に目を向けると、前述のマルチコア化、メニーコア化に対応したソフトウェア開発が求められ、設計、開発、検証の複雑さが増大する。この原因としてはマルチコアプロセッサの開発において複数のコアが共有資源であるバスやメモリ、キャッシュにアクセスすることから、シングルコアプロセッサ開発と異なりソフトウェア挙動が実行時のプロセッサ状態に応じて容易に変化し得ることが挙げられる。 On the other hand, when looking at the development of software installed on these high-performance hardware, software development that supports the aforementioned multi-core and many-core technology is required, increasing the complexity of design, development, and verification. . The reason for this is that in the development of multi-core processors, multiple cores access shared resources such as the bus, memory, and cache, so unlike single-core processor development, software behavior can easily change depending on the processor state at runtime. This can be mentioned.

また、このような課題を解決して製品化を完了した後も、プロセッサにより共有資源に関するパラメタ(バス幅、メモリサイズ、キャッシュサイズ)が異なることから、あるプロセッサでの開発結果をそのまま別プロセッサへと移植することも単純ではなく、同様に設計、開発、検証の工数が増大してしまう。 Furthermore, even after solving these issues and completing commercialization, the parameters related to shared resources (bus width, memory size, cache size) differ depending on the processor, so the development results from one processor cannot be directly transferred to another processor. It is also not simple to port the software, which similarly increases the number of man-hours for design, development, and verification.

このようなプロセッサ構成の複雑化とそれに伴う開発工数増に対する方策として、車載ソフトウェアアーキテクチャに関する標準規格であるAUTOSAR(AUTomotive Open System ARchitecture)において、2018年にタイミング設計に関して時刻同期型のタイミング設計方式であるLET(Logical Execution Time)パラダイムが新たに追加された。 As a measure to deal with the increasing complexity of processor configurations and the associated increase in development man-hours, AUTOSAR (AUTomotive Open System ARchitecture), a standard for in-vehicle software architecture, introduced a time-synchronized timing design method in 2018 for timing design. A new LET (Logical Execution Time) paradigm has been added.

同方式は上流工程でタイミング設計を行い、設計されたタイミングをミドルウェアが実行時に守ることを特徴としており、これによりプロセッサ状態の組合せによる開発、検証パターン増を防ぐことができ、工数低減に寄与することができる。 This method is characterized in that timing is designed in the upstream process, and the middleware protects the designed timing during execution. This prevents the increase in development and verification patterns due to combinations of processor states, contributing to a reduction in man-hours. be able to.

また、異なるプロセッサ間での移植においても、あるプロセッサに対しするタイミング設計結果は、別のプロセッサにおいても性能上満たすことができる場合、そのまま移植することが可能となる。 Furthermore, when porting between different processors, if the timing design results for one processor can also meet performance requirements for another processor, they can be ported as is.

特許文献1では、このような設計方式を行った際と同様の振る舞いが期待される設計方法が提供されている。特許文献1に開示されたスケジューリング方法において、連鎖された複数の処理要素は第1処理要素グループと第2処理要素グループとにグループ分けされる。第1処理要素グループは例えば第1のプロセッサによって周期的に実行され、第2処理要素グループは第1処理要素グループよりも1周期遅れたタイミングで例えば第2のプロセッサによって周期的に実行される。 Patent Document 1 provides a design method that is expected to exhibit the same behavior as when performing such a design method. In the scheduling method disclosed in Patent Document 1, a plurality of chained processing elements are grouped into a first processing element group and a second processing element group. The first processing element group is periodically executed by, for example, a first processor, and the second processing element group is periodically executed by, for example, a second processor at a timing one cycle later than that of the first processing element group.

特開2005-43959号公報Japanese Patent Application Publication No. 2005-43959

一方で、同方式においては、一度決められたタイミング設計結果に対し、処理時間変動による遅れが出た場合においても、既定のタイミング設計通りの挙動がとられる。すなわち、例えば、ある連続した2つの処理(先行処理/後続処理)において、先行処理の完了遅れが発生した場合においても、後続処理は先行処理完了を待たずに実行開始される。 On the other hand, in this method, even if there is a delay due to fluctuations in processing time with respect to the timing design result that has been determined once, the behavior according to the predetermined timing design is taken. That is, for example, even if there is a delay in the completion of the preceding process in two consecutive processes (preceding process/succeeding process), execution of the subsequent process is started without waiting for the completion of the preceding process.

このような状況においては、先行処理の演算結果を格納するメモリ領域を後続処理が参照して処理開始するため、先行処理が未完の場合、その前回の処理完了結果に基づいて後続処理が起動される。このような処理体系を取る場合、特にセンサや他ECUといった外部端末など、通信負荷状態の変化による遅れのリスクがある装置との接続においては、前回入力結果が用いられるリスクが発生し、センサや外部入力に対する応答性の低下に繋がる。 In such a situation, the subsequent process refers to the memory area that stores the calculation results of the preceding process and starts processing, so if the preceding process is incomplete, the subsequent process will be started based on the previous process completion result. Ru. When adopting such a processing system, there is a risk that the previous input result will be used, especially when connecting to devices such as sensors and external terminals such as other ECUs, which are at risk of delays due to changes in communication load conditions. This leads to a decrease in responsiveness to external input.

本発明は上記の課題に鑑みてなされたもので、時刻同期型のタイミング設計方式に基づく情報処理装置において、応答性を高めることが可能な情報処理装置を提供することにある。 The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to provide an information processing device based on a time-synchronized timing design method that can improve responsiveness.

上記課題を解決すべく、本発明の一つの観点に従う情報処理装置は記憶資源を共有する複数の処理部を有し、各々の処理部における処理が所定の時間間隔で周期的に実行され、特定の処理部における第一の処理がこの処理に先行する他の処理部における第二の処理の結果を利用する際において、他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングが時間間隔内に終了しないとき、特定の処理部における第一の処理の開始時刻を他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングまで遅らせ、第二の処理の結果を特定の処理部における第一の処理に利用する。 In order to solve the above problems, an information processing device according to one aspect of the present invention has a plurality of processing units that share storage resources, and processes in each processing unit are periodically executed at predetermined time intervals, and a specific When the first process in a processing unit uses the result of the second process in another process unit that precedes this process, the timing at which the result of the second process in the other process unit is written to the storage resource is If the process does not end within the time interval, the start time of the first process in a specific process unit is delayed until the time when the result of the second process in another process unit is written to the storage resource, and the result of the second process is specified. It is used for the first processing in the processing section.

本発明によれば、時刻同期型のタイミング設計方式に基づく情報処理装置において、応答性を高めることが可能な情報処理装置を実現することができる。 According to the present invention, it is possible to realize an information processing device based on a time-synchronized timing design method that can improve responsiveness.

実施例1に係る情報処理装置の構成を示す図である。1 is a diagram showing the configuration of an information processing device according to a first embodiment. 時刻同期型のタイミング設計による各処理の動作の一例を示す図である。FIG. 7 is a diagram illustrating an example of the operation of each process based on time-synchronized timing design. 時刻同期型のタイミング設計における先行処理の終了遅延の際の動作を示す図である。FIG. 7 is a diagram illustrating an operation when the end of advance processing is delayed in time-synchronized timing design. 実施例1における時刻同期型のタイミング設計による各処理の動作を示す図である。FIG. 3 is a diagram illustrating the operation of each process based on a time-synchronized timing design in the first embodiment. 実施例1に係る情報処理装置の動作を説明するためのフローチャートである。3 is a flowchart for explaining the operation of the information processing apparatus according to the first embodiment. 実施例2における想定アプリケーションの処理構成を示す図である。3 is a diagram illustrating a processing configuration of an assumed application in Example 2. FIG. 実施例2における時刻同期型のタイミング設計による各処理の動作の一例を示す図である。7 is a diagram illustrating an example of the operation of each process based on a time-synchronized timing design in the second embodiment. FIG. 実施例2における時刻同期型のタイミング設計による各処理の動作の他の例を示す図である。FIG. 7 is a diagram illustrating another example of the operation of each process based on the time-synchronized timing design in the second embodiment. 実施例2における時刻同期型のタイミング設計による各処理の動作のまた他の例を示す図である。7 is a diagram illustrating still another example of the operation of each process based on the time-synchronized timing design in the second embodiment. FIG.

以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 Embodiments of the present invention will be described below with reference to the drawings. The embodiments described below do not limit the claimed invention, and all of the elements and combinations thereof described in the embodiments are not necessarily essential to the solution of the invention. Not exclusively.

なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。 In the drawings explaining the embodiments, parts having the same functions are denoted by the same reference numerals, and repeated explanations thereof will be omitted.

また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。 Further, in the following description, an expression such as "xxx data" may be used as an example of information, but the information may have any data structure. That is, "xxx data" can be referred to as "xxx table" to indicate that the information is independent of data structure. Furthermore, "xxx data" is sometimes simply referred to as "xxx". In the following description, the configuration of each piece of information is merely an example, and the information may be held separately or may be combined and held.

図1に、本実施例が対象とするプロセッサ(情報処理装置)、および周辺機器の構成を示す。 FIG. 1 shows the configuration of a processor (information processing device) and peripheral devices targeted by this embodiment.

プロセッサ1は、複数のCPUコア2を有するマルチコアプロセッサである。このようなプロセッサにおいては、各CPUコア2がそれぞれ有するレベル1キャッシュ(L1キャッシュ)21と、複数コアにより共有されるレベル2キャッシュ(L2キャッシュ)22を有する多段キャッシュ構成が主に用いられ、各コア上での命令実行効率を高める工夫が為されている。各CPUコア2は内部バス3を通じてプロセッサ1外部にある外部メモリ4やセンサ5に接続される。なお、簡単のためマルチコアプロセッサ1内部の詳細構成(各種機構や、詳細なバス構造)は省略する。以下の説明において、それぞれのCPUコア2が共有する記憶資源という意味で、L2キャッシュ22及び外部メモリ4を共有メモリと称する。 The processor 1 is a multi-core processor having multiple CPU cores 2. In such processors, a multi-stage cache configuration is mainly used, which has a level 1 cache (L1 cache) 21 that each CPU core 2 has, and a level 2 cache (L2 cache) 22 that is shared by multiple cores. Efforts have been made to increase the efficiency of instruction execution on the core. Each CPU core 2 is connected to an external memory 4 and a sensor 5 outside the processor 1 through an internal bus 3. Note that for the sake of simplicity, the detailed configuration (various mechanisms and detailed bus structure) inside the multi-core processor 1 will be omitted. In the following description, the L2 cache 22 and the external memory 4 will be referred to as shared memory in the sense that they are storage resources shared by the respective CPU cores 2.

このようなマルチコアプロセッサ1上においてアプリケーションを実行する場合において、実際にCPUコア2を同時に動作させてアプリケーション処理を行う場合、複数のCPUコア2が、共有資源であるL2キャッシュ22や外部メモリ4に対するアクセス競合、内部バス3にかかる負荷や複数プロセスからのメモリ利用に伴うL2キャッシュ22のキャッシュヒット率変化による処理効率変化の影響を受ける。 When an application is executed on such a multi-core processor 1, when the CPU cores 2 are actually operated simultaneously to process the application, the multiple CPU cores 2 have access to the L2 cache 22 and external memory 4, which are shared resources. It is affected by changes in processing efficiency due to access contention, the load on the internal bus 3, and changes in the cache hit rate of the L2 cache 22 due to memory usage from multiple processes.

このため、事前に規定された各アプリケーションの実行順序だけでなく、各アプリケーションの動作に応じて動的に変化するプロセッサの状態変化(L2キャッシュ22の状況、内部バス3の負荷状況)に応じる形で、アプリケーション処理の状況や順序、メモリアクセスタイミングが変化する。 Therefore, in addition to the predefined execution order of each application, the system is configured to respond to changes in the state of the processor (the status of the L2 cache 22, the load status of the internal bus 3), which dynamically changes depending on the operation of each application. This changes the application processing status, order, and memory access timing.

さらに、割込み処理などの動作タイミングが不確定なアプリケーションも存在することから、プロセッサ1上におけるアプリケーション開発、デバッグ、および検証は、取り得るプロセッサ1の状態を鑑みてそれぞれ為される必要があり、これら各作業の複雑化と工数増大が懸念される。 Furthermore, since there are applications whose operation timings such as interrupt processing are uncertain, application development, debugging, and verification on the processor 1 must be done in consideration of the possible states of the processor 1. There are concerns that each task will become more complex and the number of man-hours will increase.

また、あるプロセッサ1上にて設計・検証されたアプリケーションを別のマルチコアプロセッサに移植する場合においても、CPUコアの動作速度や数量、バスの動作速度およびバス幅、各キャッシュサイズ等の性能変化の影響によりアプリケーション挙動は変化するため、あるプロセッサ1を対象とした設計を、他のマルチコアプロセッサに移植することも容易ではない。 Also, when porting an application designed and verified on one processor 1 to another multi-core processor, changes in performance such as the operating speed and number of CPU cores, bus operating speed and bus width, and cache size etc. Since application behavior changes due to the influence, it is not easy to port a design intended for a certain processor 1 to other multi-core processors.

このようなプロセッサ1の利用、および他マルチコアプロセッサへの移植を意識した設計方式として、各アプリケーションの処理開始および完了タイミングを規定する形でアプリケーションを実行する時刻同期型の設計方式が知られている。 As a design method that takes into account the use of the processor 1 and portability to other multi-core processors, a time-synchronized design method is known in which applications are executed in a manner that specifies the processing start and completion timings of each application. .

図2に、時刻同期型の設計思想を用い、アプリケーション処理を実行する際の構成を示す。 FIG. 2 shows a configuration for executing application processing using a time-synchronized design concept.

以下の説明においては簡単のため、アプリケーション処理は連続する2つの処理(先行処理、後続処理)から成り、それぞれ決められた周期で(本例では同じ周期)で動作するものとする。また、先行処理は共有メモリからAの領域にあるデータを読み込み、センサ5から入力を受けてメモリ状態に対応する処理を行った上で、処理結果をBの領域に格納する。後続処理は、Bの領域にあるデータを読み込み、図示しない領域Cに格納するとし、AおよびBに付加される添え字はAおよびBに付与されたラベルで、添え字をつけることで共有メモリ上のそれぞれの領域に格納された値を示すものとする。また、この添え字は例えばAの入力に基づきBの値が出力されるように、入力と出力との対応関係を示すものである。 In the following explanation, for the sake of simplicity, it is assumed that the application process consists of two consecutive processes (preceding process and subsequent process), each of which operates at a predetermined cycle (in this example, the same cycle). Further, the preceding processing reads data in area A from the shared memory, receives input from sensor 5, performs processing corresponding to the memory state, and stores the processing result in area B. In subsequent processing, data in area B is read and stored in area C (not shown), and the subscripts added to A and B are the labels given to A and B. Let us show the values stored in each area above. Further, this subscript indicates the correspondence between input and output, such that, for example, the value of B 0 is output based on the input of A 0 .

先行処理、後続処理の2つの処理は、決められた周期(例えばT0~T1、T1~T2)の最初(例えばT0、T1)に共有メモリから演算に必要な値を読み込み(図中のinと記載した部分)、周期の最後に共有メモリに演算結果を書き出す(図中out)ように構成されている。演算処理はこの読み込みと書き出しとの間の任意のタイミングで実行され、アプリケーションの処理開始時(データ読み込み)と処理完了(データ書き出し)とを明確に定めるモデルに従い動作する。 The two processes, pre-processing and subsequent processing, read the values necessary for the calculation from the shared memory at the beginning (for example, T0, T1) of a determined cycle (for example, T0-T1, T1-T2) (in and in the figure). (described part), the calculation result is written to the shared memory at the end of the cycle (out in the figure). Arithmetic processing is executed at any timing between reading and writing, and operates according to a model that clearly defines when application processing starts (data reading) and when processing ends (data writing).

このような処理構成を取ることで、演算処理が実際に行われるタイミングやその際のプロセッサ状態を検証することは難しくとも、周期の開始時と終了時の2点におけるメモリ状態に着目することで、処理の完了を確認することができる。同時に、他処理との界面を共有メモリを通じたデータ授受に限定することで、複雑なプロセッサ状態における各処理間での利用データの変化を意識する必要がなく、検証容易性が向上する。このような設計思想に基づき、既定のタイミングにおける処理開始、処理完了のみを規定することで、他のプロセッサにアプリケーションを移植した際にも、移植先のプロセッサが同処理を実行するに十分な処理性能を有する限りに於いて同様の動作が期待される。これによりアプリケーション移植性が向上する。 By adopting such a processing configuration, although it is difficult to verify the timing at which arithmetic processing is actually performed and the processor state at that time, it is possible to , it is possible to confirm the completion of processing. At the same time, by limiting the interface with other processes to data exchange through shared memory, there is no need to be aware of changes in the data used between each process in a complex processor state, improving ease of verification. Based on this design concept, by specifying only the start and completion of processing at predetermined timings, even when an application is ported to another processor, the processing is sufficient for the destination processor to execute the same processing. Similar operation is expected as long as the performance is maintained. This improves application portability.

図2に示した例では、時刻T0において先行処理がAのデータを読み出し、T0から始まる周期中(つまりT1まで)に演算を完了しBを出力する。出力されたBは、時刻T1に開始される周期において後続処理が読み込まれて後続処理が行われ、T1から始まる周期中(T2まで)に後続処理の演算完了によりCが出力される。 In the example shown in FIG. 2, the preceding process reads the data of A0 at time T0, completes the calculation during the cycle starting from T0 (that is, until T1), and outputs B0 . The output B 0 is read by the subsequent process in a cycle starting at time T1, and the subsequent process is performed, and C 0 is output when the calculation of the subsequent process is completed during the cycle starting from T1 (up to T2).

一方、このような構成において、通信状態や他処理による内部バス3の負荷向上等によるセンサ5からの入力遅延により、先行処理の演算時間が想定以上に伸びるケースが想定される。 On the other hand, in such a configuration, a case is assumed in which the calculation time of the preceding process increases more than expected due to a delay in the input from the sensor 5 due to communication conditions or an increase in the load on the internal bus 3 due to other processes.

図3に示すケースでは、先行処理の終了遅延により、時刻T0から開始される周期中(T1まで)には処理が完了していない。このような場合、先行処理が入力Aを受けて処理を行った結果である領域への格納結果は、共有メモリへの処理結果を書き戻すタイミングに間に合わないことから、共有メモリに書き出されない。一方で、後続処理は時刻T1から始まる周期において、共有メモリ上のBの領域にあるデータB-1を読み込んで処理を開始する。このため、後続処理は再度B-1を入力として処理を行ってしまう。結果、Aを受けてCを出力するアプリケーション全体の動作としては、Bに基づく処理が以降の周期に持ち越されることから、入力に対する処理応答性が悪化してしまう。 In the case shown in FIG. 3, the processing is not completed during the cycle starting from time T0 (up to T1) due to the delay in the end of the preceding processing. In such a case, the result stored in area B , which is the result of the processing performed by the preceding process upon receiving input A 0 , will not be written in time to write back the processing result to the shared memory, so the result will not be written to the shared memory. Not done. On the other hand, subsequent processing starts by reading data B -1 in area B on the shared memory in a cycle starting from time T1. Therefore, the subsequent processing is performed again using B -1 as input. As a result, in the overall operation of the application that receives A 0 and outputs C 0 , processing based on B 0 is carried over to subsequent cycles, resulting in poor processing responsiveness to input.

図4に、上記に対応する本実施例の構成を示す。本実施例では、図3のような状況に対し、後続処理に与えられた設計上の猶予時間を用いて、後続処理の開始時刻を遅延させる。これにより入力を待ち受ける時間枠を増大させ、時刻T1から始まる周期における後続処理の入力を最新の値Bとし、演算結果Cを出力することが可能となる。 FIG. 4 shows the configuration of this embodiment corresponding to the above. In this embodiment, for the situation shown in FIG. 3, the start time of the subsequent process is delayed by using the designed grace time given to the subsequent process. This increases the time frame for waiting for input, makes it possible to set the input of subsequent processing in the cycle starting from time T1 to the latest value B0 , and output the calculation result C0 .

このような処理を実現するためには、OSもしくはミドルウェアに対し、先行処理-後続処理間におけるデータ共有方式と、後続処理開始のための機能追加が必要となる。先行処理-後続処理の間におけるデータの共有方式としては、例えばダブルバッファリングを用いて実現する方式が挙げられる。 In order to realize such processing, it is necessary to add a data sharing method between the preceding process and the subsequent process and a function for starting the subsequent process to the OS or middleware. An example of a method for sharing data between the preceding processing and the subsequent processing is a method using double buffering.

これにより、時刻同期型のタイミング設計方式のメリットである設計、開発、検証工数の増大抑制と移植性の向上を得つつ、設計上の猶予時間が許す範囲において、先行処理の終了遅延の場合においても応答性もしくは処理完了性能を向上することが可能となる。ただし、後続処理における猶予時間を超過しても先行処理が完了しない場合は、従来方式同様に応答性の悪化が発生する。 As a result, while suppressing the increase in design, development, and verification man-hours and improving portability, which are the advantages of the time-synchronized timing design method, it is possible to reduce It also becomes possible to improve responsiveness or processing completion performance. However, if the preceding processing is not completed even after the grace period for the subsequent processing is exceeded, responsiveness deteriorates as in the conventional method.

図5は、実施例1に係る情報処理装置の動作を説明するためのフローチャートである。 FIG. 5 is a flowchart for explaining the operation of the information processing apparatus according to the first embodiment.

まず、プロセッサ1は、先行処理のローカルメモリへ必要データを読み込む(ステップS500)。次いで、プロセッサ1は先行処理を実行する(ステップS501)。 First, the processor 1 reads necessary data into the local memory of the preceding process (step S500). Next, processor 1 executes advance processing (step S501).

次に、プロセッサ1は、先行処理の終了とデータの共有メモリへの書き出しがデッドライン(演算処理の周期の終わり)までに完了したか否かを判定する(ステップS502)。そして、判定が肯定されたら(ステップS502においてYES)処理はステップS503に移行し、判定が否定されたら(ステップS502においてNO)処理はステップS506に移行する。 Next, the processor 1 determines whether the end of the preceding processing and the writing of data to the shared memory are completed by the deadline (the end of the calculation processing cycle) (step S502). If the determination is affirmative (YES in step S502), the process moves to step S503, and if the determination is negative (NO in step S502), the process moves to step S506.

ステップS503では、プロセッサ1は、後続処理のローカルメモリへ先行処理の処理結果を読み込む。次いで、プロセッサ1は後続処理を実行する(ステップS504)。そして、プロセッサ1は、後続処理の結果を共有メモリへ書き出す(ステップS505)。 In step S503, the processor 1 reads the processing results of the preceding process into the local memory of the subsequent process. Next, processor 1 executes subsequent processing (step S504). The processor 1 then writes the results of the subsequent processing to the shared memory (step S505).

一方、ステップS506では、プロセッサ1が後続処理の開始を遅延させる。次いで、プロセッサ1は、先行処理の完了遅延時間が後続処理の猶予時間内であるか否かを判定する(ステップS507)。そして、判定が肯定されたら(ステップS507においてYES)処理はステップS508に移行し、判定が否定されたら(ステップS507においてNO)処理はステップS511に移行する。 On the other hand, in step S506, processor 1 delays the start of subsequent processing. Next, the processor 1 determines whether the completion delay time of the preceding process is within the grace period of the subsequent process (step S507). If the determination is affirmative (YES in step S507), the process moves to step S508, and if the determination is negative (NO in step S507), the process moves to step S511.

ステップS508~S510では、ステップS503~S505と同様の処理を行う。一方、ステップS511では、後続処理のローカルメモリへ先行処理の前回の処理結果を読み込む。以降、ステップS512、S513ではステップS504、S505と同様の処理を行う。 In steps S508 to S510, processing similar to steps S503 to S505 is performed. On the other hand, in step S511, the previous processing result of the preceding processing is read into the local memory of the subsequent processing. Thereafter, in steps S512 and S513, processing similar to steps S504 and S505 is performed.

なお、本実施例においては、時刻Tから始まる周期における先行処理の結果が時刻T1には共有メモリ上に書き出されておらず、次の時刻T1から始まる周期において先行処理が起動されずに時刻T1の周期の終了時に処理結果である値Bが共有メモリに書き戻される構成を想定している。 In this embodiment, the result of the preceding process in the cycle starting from time T0 is not written to the shared memory at time T1, and the preceding process is not started in the next cycle starting from time T1. A configuration is assumed in which the value B0 , which is the processing result, is written back to the shared memory at the end of the cycle at time T1.

これ以外にも、処理構成によっては、時刻T1において時刻T0周期の処理を強制的に終了させ、共有メモリ上の値Aを読み込んで次の処理を開始する構成も取り得る。この場合は、後続処理においてBを入力とする処理が為されない場合も考えられる。このような場合においては、アプリケーション処理が期待通りに実行されないケースとなることから、後続処理には異なる影響が生じることとなり、上記の応答性悪化とは異なる問題が生じることとなる。 In addition to this, depending on the processing configuration, a configuration may be adopted in which the processing of the time T0 period is forcibly terminated at time T1, the value A0 on the shared memory is read, and the next processing is started. In this case, it is conceivable that a process using B0 as an input will not be performed in the subsequent process. In such a case, the application processing will not be executed as expected, which will have a different effect on subsequent processing, resulting in a problem different from the above-mentioned deterioration of responsiveness.

実施例2では、実施例1にて示した処理構成を、自動運転処理を行う制御装置へ適用する際の例として、センサ処理アプリケーションの構成と処理適用方式を説明する。 Embodiment 2 In Embodiment 2, a configuration of a sensor processing application and a process application method will be described as an example of applying the processing configuration shown in Embodiment 1 to a control device that performs automatic driving processing.

同アプリケーションの構成を図6に示す。このアプリケーションでは、外部センサからのセンサデータ受信結果をメモリに格納する処理A、および処理Aにより取り込まれたセンサデータに対し、異なる2つの認識処理を行う一連の処理群(B、C)とD、2つの認識処理結果を統合し、他アプリケーション処理へ出力を行う処理Eの5つの処理により構成され、2つのCPUコア2を用いて実行される。 The configuration of the application is shown in Figure 6. In this application, a series of process groups (B, C) and D perform two different recognition processes on the sensor data captured by process A, which stores the result of receiving sensor data from an external sensor in memory. , processing E which integrates two recognition processing results and outputs them to other application processing, and is executed using two CPU cores 2.

同アプリケーションに含まれる各処理は図7のように実行コア割り付け、およびタイミングが設計されており、実施例1の場合と同様のタイミング設計が実施されている。 The execution core allocation and timing of each process included in the application are designed as shown in FIG. 7, and the timing design is similar to that of the first embodiment.

この実施例においては、1つのアプリケーション周期内に、開始および完了時刻の異なる5つの処理が配置されており、例えば処理Aは時刻T0に開始されて(copy-in)を行い、時刻T1にcopy-outが完了するよう、両時刻の間で処理が実施される。また、連続する処理B、Cの結果、および処理Dの結果を、処理Eで統合する構成となっており、処理Eの開始時刻に間に合うように、処理BとC、およびDの開始/終了時刻が定められている。 In this example, five processes with different start and completion times are arranged within one application cycle. For example, process A starts at time T0 and performs a copy-in, and at time T1 it performs a copy-in. Processing is performed between both times so that -out completes. In addition, the results of consecutive processes B and C and the results of process D are integrated in process E, and processes B, C, and D are started/finished in time for the start time of process E. A time is set.

ここで、処理Aはセンサデータ受信結果をメモリに格納する処理であり、設計上の猶予時間は与えられているものの、制御装置とセンサ間の通信状況や、他通信の状況により、データ到達に遅延が発生し得る。 Process A is a process of storing sensor data reception results in memory, and although a grace period is given in the design, data arrival may be delayed depending on the communication status between the control device and the sensor and the status of other communications. Delays may occur.

図8に、センサデータ到達遅延により、処理Aの終了が遅延したケースを示す。この場合も、実施例1の構成と同様に、処理Bおよび処理Dの猶予時間を用いて、処理BおよびDの開始時刻を遅延させることで、処理Aの最新の結果、すなわち最新のセンサデータに基づく以降の処理継続を試みる。 FIG. 8 shows a case where the end of process A is delayed due to a delay in sensor data arrival. In this case, similarly to the configuration of Example 1, by using the grace time of processing B and processing D to delay the start time of processing B and processing D, the latest result of processing A, that is, the latest sensor data Attempts to continue processing based on .

一方で、処理Bと処理Dの最遅開始タイミングは処理Bと処理Dとの実行時間および処理完了時間の違いにより、異っている。なお、最遅開始タイミングは、設計により定義されたマージンと実行時間ばらつきとを勘案し、処理構成上の開始遅延が許される最大のタイミングとする。 On the other hand, the latest start timings of processing B and processing D are different due to differences in execution time and processing completion time between processing B and processing D. Note that the latest start timing is the maximum timing that allows for a start delay in the processing configuration, taking into consideration the margin defined by design and execution time variations.

このようなケースにおいては、処理Aから与えられる同じセンサ入力を、2系統の制御パス、すなわち処理B、処理Cのパスと、処理Dのパスとが、同じ処理Eへ入力されることから、処理B、Cが用いる入力データと、処理Dが用いる入力データとが異なることが望ましくないケースが発生する。 In such a case, since the same sensor input from process A is input to the same process E through two control paths, that is, the process B and process C path, and the process D path, A case may occur where it is undesirable for the input data used by processes B and C to be different from the input data used by process D.

このようなケースにおいては、処理Aの遅延に対する処理Dの開始遅延猶予時間(最遅開始タイミングまでの時間)は、処理Bのそれと比べて余裕はあるものの、より余裕のない処理Bの最遅開始タイミングに合わせる形で制約され、図9に示すような処理Aの最遅終了タイミングが規定される。このように、アプリケーションにおける処理構成により、最新の処理結果を用いることができる猶予時間が変化する。 In such a case, although the start delay grace time (time to the latest start timing) of process D with respect to the delay of process A has more margin than that of process B, the delay time of process D, which has less margin, It is constrained to match the start timing, and the latest end timing of process A as shown in FIG. 9 is defined. In this way, the grace period during which the latest processing results can be used varies depending on the processing configuration of the application.

なお、処理Aの最遅終了タイミングを超過しても処理Aが完了しない場合は、処理Aの前回の処理結果(すなわち、前周期におけるセンサデータ受信結果)を用いて処理Bおよび処理Dが開始される。 Note that if Process A is not completed even after the latest end timing of Process A is exceeded, Process B and Process D are started using the previous processing result of Process A (that is, the sensor data reception result in the previous cycle). be done.

以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically explained based on the embodiments above, the present invention is not limited to the embodiments described above, and it is understood that various changes can be made without departing from the gist of the invention. Needless to say.

例えば、実施例2において、処理Aの終了遅延に伴い、処理Bの終了遅延が連鎖的に発生するケースなども想定される。このようなケースにおいては、処理Cの開始時刻も遅延させる対応や、処理Bの終了時刻は固定的とするケースなど、複数の実装方式が想定される。 For example, in the second embodiment, a case may be assumed in which a delay in the end of process B occurs in a chain reaction due to a delay in the end of process A. In such a case, a plurality of implementation methods can be envisaged, such as a case in which the start time of process C is also delayed, and a case in which the end time of process B is fixed.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be partially or entirely realized in hardware by designing, for example, an integrated circuit. Further, the present invention can also be realized by software program codes that realize the functions of the embodiments. In this case, a storage medium on which a program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored on the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the embodiments described above, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program codes include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, A non-volatile memory card, ROM, etc. are used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。 Further, the program code for realizing the functions described in this embodiment can be implemented in a wide range of program or script languages such as assembler, C/C++, Perl, Shell, PHP, and Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the software program code that realizes the functions of the embodiment via a network, it can be stored in a storage means such as a computer's hard disk or memory, or a storage medium such as a CD-RW or CD-R. Alternatively, a processor included in the computer may read and execute the program code stored in the storage means or the storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines are those considered necessary for explanation, and not all control lines and information lines are necessarily shown in the product. All configurations may be interconnected.

1:マルチコアプロセッサ、2:CPUコア、21:L1キャッシュ、22:L2キャッシュ、3:内部バス、4:外部メモリ、5:センサ


1: Multi-core processor, 2: CPU core, 21: L1 cache, 22: L2 cache, 3: Internal bus, 4: External memory, 5: Sensor


Claims (9)

記憶資源を共有する複数の処理部を有し、各々の処理部における処理が所定の時間間隔で周期的に実行される情報処理装置であって、
特定の前記処理部における第一の前記処理がこの処理に先行する他の前記処理部における第二の前記処理の結果を利用する際において、前記他の処理部における前記第二の処理の結果が前記記憶資源に書き込まれるタイミングが前記時間間隔内に終了しないとき、前記特定の処理部における前記第一の処理の開始時刻を、前記第一の処理が実行される処理周期内で前記他の処理部における前記第二の処理の結果が前記記憶資源に書き込まれるタイミングまで遅らせ、前記第二の処理の結果を前記特定の処理部における前記第一の処理に利用する
ことを特徴とする情報処理装置。
An information processing device that includes a plurality of processing units that share storage resources, and in which processing in each processing unit is periodically executed at predetermined time intervals,
When the first processing in a specific processing unit uses the result of the second processing in another processing unit that precedes this processing, the result of the second processing in the other processing unit is When the timing of writing to the storage resource does not end within the time interval, the start time of the first process in the specific processing unit is set to the start time of the other process within the process cycle in which the first process is executed. The information processing apparatus is characterized in that the result of the second processing in the section is delayed until a timing when the result of the second processing is written into the storage resource, and the result of the second processing is used for the first processing in the specific processing section. .
前記第一の処理および前記第二の処理は、処理期間の開始時に前記記憶資源から処理に供される値を読み込み、処理周期の終了時に処理の結果を前記記憶資源に書き込むように構成されることを特徴とする請求項1に記載の情報処理装置。The first process and the second process are configured to read a value to be processed from the storage resource at the start of a processing period, and write the result of the process to the storage resource at the end of the processing cycle. The information processing device according to claim 1, characterized in that: 前記第一の処理の開始時刻を遅らせるタイミングは、前記第一の処理に予め定められた猶予時間を超過しない範囲内であることを特徴とする請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein the timing at which the start time of the first process is delayed is within a range that does not exceed a predetermined grace period for the first process. 前記特定の処理部は、前記他の処理部における前記第二の処理の結果が前記記憶資源に格納された領域から前記第二の処理の結果を読み出し、前記第一の処理を実行することを特徴とする請求項1に記載の情報処理装置。 The specific processing section reads the result of the second processing from an area where the result of the second processing in the other processing section is stored in the storage resource, and executes the first processing. The information processing device according to claim 1. 前記第一の処理の開始時刻を遅らせている間に前記第二の処理の結果が前記記憶資源の特定の領域に書き込まれたら、前記特定の処理部はこの第二の処理の結果を前記第一の処理に利用し、前記第一の処理の開始時刻を前記猶予時間まで遅らせても前記第二の処理の結果が前記記憶資源に書き込まれないときは、前記特定の処理部は前回の周期における前記第二の処理の結果を前記第一の処理に利用することを特徴とする請求項に記載の情報処理装置。 If the result of the second process is written to a specific area of the storage resource while the start time of the first process is delayed, the specific processing unit writes the result of the second process to the second process. If the result of the second process is not written to the storage resource even if the start time of the first process is delayed until the grace period, the specific process unit is used for the previous cycle. 4. The information processing apparatus according to claim 3 , wherein a result of the second processing is used for the first processing. 前記記憶資源は複数の領域を有し、
前記第一の処理の開始時刻を遅らせている間に前記第二の処理の結果が前記記憶資源の特定の領域に書き込まれたら、前記特定の処理部は前記特定の領域に格納された前記第二の処理の結果を読み出してこの第二の処理の結果を前記第一の処理に利用し、前記第一の処理の開始時刻を前記猶予時間まで遅らせても前記第二の処理の結果が前記記憶資源に書き込まれないときは、前記特定の処理部は前回の周期における前記第二の処理の結果が書き込まれた前記特定の領域とは異なる前記領域に書き込まれた前記第二の処理の結果を読み出して前記第一の処理に利用することを特徴とする請求項に記載の情報処理装置。
The storage resource has a plurality of areas,
If the result of the second process is written to a specific area of the storage resource while delaying the start time of the first process, the specific processing unit writes the second process stored in the specific area. Even if the result of the second process is read and the result of the second process is used for the first process, and the start time of the first process is delayed until the grace period, the result of the second process is When the result of the second process is not written to the storage resource, the specific processing unit writes the result of the second process written to the area different from the specific area to which the result of the second process in the previous cycle was written. 6. The information processing apparatus according to claim 5 , wherein the information processing apparatus reads out and uses the read data for the first processing.
前記第一の処理は複数存在し、
複数の前記第一の処理の各々の開始時刻を遅らせるタイミングは、複数の前記第一の処理の各々に予め定められた猶予時間を超過しない範囲内であることを特徴とする請求項1に記載の情報処理装置。
There is a plurality of the first processes,
2. The timing of delaying the start time of each of the plurality of first processes is within a range that does not exceed a predetermined grace time for each of the plurality of first processes. information processing equipment.
前記第一の処理は少なくとも2つ存在し、There are at least two of the first processes,
少なくとも2つの前記第一の処理のうち、最遅開始タイミングに関してより余裕のある前記第一の処理の最遅開始タイミングを、最遅開始タイミングに関してより余裕のない前記第一の処理の最遅開始タイミングに合わせることで制約することを特徴とする請求項1に記載の情報処理装置。Among the at least two first processes, the latest start timing of the first process that has more margin in terms of the latest start timing is set to the latest start timing of the first process that has more margin in terms of the latest start timing. The information processing apparatus according to claim 1, wherein the information processing apparatus is constrained by matching timing.
前記第の処理の処理開始タイミングは前記時間間隔内において不定であることを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1 , wherein the processing start timing of the first processing is indefinite within the time interval.
JP2019216836A 2019-11-29 2019-11-29 information processing equipment Active JP7428508B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019216836A JP7428508B2 (en) 2019-11-29 2019-11-29 information processing equipment
DE112020005072.6T DE112020005072T5 (en) 2019-11-29 2020-11-13 DATA PROCESSING ESTABLISHMENT
PCT/JP2020/042368 WO2021106608A1 (en) 2019-11-29 2020-11-13 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019216836A JP7428508B2 (en) 2019-11-29 2019-11-29 information processing equipment

Publications (2)

Publication Number Publication Date
JP2021086512A JP2021086512A (en) 2021-06-03
JP7428508B2 true JP7428508B2 (en) 2024-02-06

Family

ID=76088869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019216836A Active JP7428508B2 (en) 2019-11-29 2019-11-29 information processing equipment

Country Status (3)

Country Link
JP (1) JP7428508B2 (en)
DE (1) DE112020005072T5 (en)
WO (1) WO2021106608A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023036264A (en) * 2021-09-02 2023-03-14 日立Astemo株式会社 Electronic system and electronic control apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005043959A (en) 2003-07-22 2005-02-17 Toshiba Corp Scheduling method and information processing system
JP2009199462A (en) 2008-02-22 2009-09-03 Toyota Motor Corp Multi-core processor and engine control apparatus using same
JP2016113968A (en) 2014-12-16 2016-06-23 アイシン精機株式会社 Vehicular control device and control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005043959A (en) 2003-07-22 2005-02-17 Toshiba Corp Scheduling method and information processing system
JP2009199462A (en) 2008-02-22 2009-09-03 Toyota Motor Corp Multi-core processor and engine control apparatus using same
JP2016113968A (en) 2014-12-16 2016-06-23 アイシン精機株式会社 Vehicular control device and control method

Also Published As

Publication number Publication date
WO2021106608A1 (en) 2021-06-03
DE112020005072T5 (en) 2022-08-04
JP2021086512A (en) 2021-06-03

Similar Documents

Publication Publication Date Title
KR100733943B1 (en) Processor system, dma control circuit, dma control method, control method for dma controller, graphic processing method, and graphic processing circuit
JP4476267B2 (en) Processor and data transfer unit
JP2011146035A (en) Command queue for peripheral component
JP4628521B2 (en) Method and apparatus for handling interruptible multi-cycle instructions
US8918680B2 (en) Trace queue for peripheral component
KR100730280B1 (en) Apparatus and Method for Optimizing Loop Buffer in Reconfigurable Processor
JP7428508B2 (en) information processing equipment
KR20090016644A (en) Computer system with increased operating efficiency
JP4168281B2 (en) Parallel processing system, interconnection network, node and network control program
US8656393B2 (en) Multi-core system
KR102205899B1 (en) Method and apparatus for avoiding bank conflict in memory
JP6094356B2 (en) Arithmetic processing unit
JP2005293596A (en) Arbitration of data request
EP2159690A1 (en) Information processing unit and method for controlling register
WO2020108212A1 (en) Register access timing sequence management method, processor, electronic device and computer-readable storage medium
JP2010003151A (en) Data processing apparatus
JP2014191663A (en) Arithmetic processing unit, information processing unit and method for controlling arithmetic processing unit
KR20090016645A (en) Method and apparatus for monitoring inputs to a computer
JP5540799B2 (en) Data input / output control method, data input / output control program, and data input / output control device
US20090265721A1 (en) Information processing apparatus, information processing method, and computer program
EP3472711B1 (en) Data input/output unit, electronic apparatus, and control methods thereof
JP5555514B2 (en) Processor system
WO2019188178A1 (en) Multi-core system
JP6940283B2 (en) DMA transfer control device, DMA transfer control method, and DMA transfer control program
US20110010529A1 (en) Instruction execution control method, instruction format, and processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240125

R150 Certificate of patent or registration of utility model

Ref document number: 7428508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150