JP2021086512A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2021086512A
JP2021086512A JP2019216836A JP2019216836A JP2021086512A JP 2021086512 A JP2021086512 A JP 2021086512A JP 2019216836 A JP2019216836 A JP 2019216836A JP 2019216836 A JP2019216836 A JP 2019216836A JP 2021086512 A JP2021086512 A JP 2021086512A
Authority
JP
Japan
Prior art keywords
processing
result
time
processing unit
timing
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
Application number
JP2019216836A
Other languages
English (en)
Other versions
JP7428508B2 (ja
Inventor
辰也 堀口
Tatsuya HORIGUCHI
辰也 堀口
祐 石郷岡
Hiroshi Ishigooka
祐 石郷岡
一 芹沢
Hajime Serizawa
一 芹沢
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/ja
Priority to DE112020005072.6T priority patent/DE112020005072T5/de
Priority to PCT/JP2020/042368 priority patent/WO2021106608A1/ja
Publication of JP2021086512A publication Critical patent/JP2021086512A/ja
Application granted granted Critical
Publication of JP7428508B2 publication Critical patent/JP7428508B2/ja
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 or 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

【課題】時刻同期型のタイミング設計方式に基づく情報処理装置において、応答性を高める。【解決手段】記憶資源を共有する複数の処理部を有し、各々の処理部における処理が所定の時間間隔で周期的に実行される情報処理装置であって、特定の処理部における第一の処理がこの処理に先行する他の処理部における第二の処理の結果を利用する際において、他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングが時間間隔内に終了しないとき、特定の処理部における第一の処理の開始時刻を他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングまで遅らせ、第二の処理の結果を特定の処理部における第一の処理に利用する。【選択図】図4

Description

本発明は、情報処理装置に関する。
近年、産業用電子制御装置(ECU:Electronic Control Unit)を支える組込みシステムの開発においては、制御性能の向上、厳格化する規制への対応、また装置の自律化に伴う制御演算処理増大といった、アプリケーションの高負荷化が進んでいる。これに対応する形で、ECUにおいてもマルチコア化、メニーコア化といったハードウェアの高性能化が進んでいる。
一方で、これら高性能化したハードウェア上に搭載されるソフトウェア開発に目を向けると、前述のマルチコア化、メニーコア化に対応したソフトウェア開発が求められ、設計、開発、検証の複雑さが増大する。この原因としてはマルチコアプロセッサの開発において複数のコアが共有資源であるバスやメモリ、キャッシュにアクセスすることから、シングルコアプロセッサ開発と異なりソフトウェア挙動が実行時のプロセッサ状態に応じて容易に変化し得ることが挙げられる。
また、このような課題を解決して製品化を完了した後も、プロセッサにより共有資源に関するパラメタ(バス幅、メモリサイズ、キャッシュサイズ)が異なることから、あるプロセッサでの開発結果をそのまま別プロセッサへと移植することも単純ではなく、同様に設計、開発、検証の工数が増大してしまう。
このようなプロセッサ構成の複雑化とそれに伴う開発工数増に対する方策として、車載ソフトウェアアーキテクチャに関する標準規格であるAUTOSAR(AUTomotive Open System ARchitecture)において、2018年にタイミング設計に関して時刻同期型のタイミング設計方式であるLET(Logical Execution Time)パラダイムが新たに追加された。
同方式は上流工程でタイミング設計を行い、設計されたタイミングをミドルウェアが実行時に守ることを特徴としており、これによりプロセッサ状態の組合せによる開発、検証パターン増を防ぐことができ、工数低減に寄与することができる。
また、異なるプロセッサ間での移植においても、あるプロセッサに対しするタイミング設計結果は、別のプロセッサにおいても性能上満たすことができる場合、そのまま移植することが可能となる。
特許文献1では、このような設計方式を行った際と同様の振る舞いが期待される設計方法が提供されている。特許文献1に開示されたスケジューリング方法において、連鎖された複数の処理要素は第1処理要素グループと第2処理要素グループとにグループ分けされる。第1処理要素グループは例えば第1のプロセッサによって周期的に実行され、第2処理要素グループは第1処理要素グループよりも1周期遅れたタイミングで例えば第2のプロセッサによって周期的に実行される。
特開2005−43959号公報
一方で、同方式においては、一度決められたタイミング設計結果に対し、処理時間変動による遅れが出た場合においても、既定のタイミング設計通りの挙動がとられる。すなわち、例えば、ある連続した2つの処理(先行処理/後続処理)において、先行処理の完了遅れが発生した場合においても、後続処理は先行処理完了を待たずに実行開始される。
このような状況においては、先行処理の演算結果を格納するメモリ領域を後続処理が参照して処理開始するため、先行処理が未完の場合、その前回の処理完了結果に基づいて後続処理が起動される。このような処理体系を取る場合、特にセンサや他ECUといった外部端末など、通信負荷状態の変化による遅れのリスクがある装置との接続においては、前回入力結果が用いられるリスクが発生し、センサや外部入力に対する応答性の低下に繋がる。
本発明は上記の課題に鑑みてなされたもので、時刻同期型のタイミング設計方式に基づく情報処理装置において、応答性を高めることが可能な情報処理装置を提供することにある。
上記課題を解決すべく、本発明の一つの観点に従う情報処理装置は記憶資源を共有する複数の処理部を有し、各々の処理部における処理が所定の時間間隔で周期的に実行され、特定の処理部における第一の処理がこの処理に先行する他の処理部における第二の処理の結果を利用する際において、他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングが時間間隔内に終了しないとき、特定の処理部における第一の処理の開始時刻を他の処理部における第二の処理の結果が記憶資源に書き込まれるタイミングまで遅らせ、第二の処理の結果を特定の処理部における第一の処理に利用する。
本発明によれば、時刻同期型のタイミング設計方式に基づく情報処理装置において、応答性を高めることが可能な情報処理装置を実現することができる。
実施例1に係る情報処理装置の構成を示す図である。 時刻同期型のタイミング設計による各処理の動作の一例を示す図である。 時刻同期型のタイミング設計における先行処理の終了遅延の際の動作を示す図である。 実施例1における時刻同期型のタイミング設計による各処理の動作を示す図である。 実施例1に係る情報処理装置の動作を説明するためのフローチャートである。 実施例2における想定アプリケーションの処理構成を示す図である。 実施例2における時刻同期型のタイミング設計による各処理の動作の一例を示す図である。 実施例2における時刻同期型のタイミング設計による各処理の動作の他の例を示す図である。 実施例2における時刻同期型のタイミング設計による各処理の動作のまた他の例を示す図である。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。さらに、「xxxデータ」を単に「xxx」と言うこともある。そして、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
図1に、本実施例が対象とするプロセッサ(情報処理装置)、および周辺機器の構成を示す。
プロセッサ1は、複数のCPUコア2を有するマルチコアプロセッサである。このようなプロセッサにおいては、各CPUコア2がそれぞれ有するレベル1キャッシュ(L1キャッシュ)21と、複数コアにより共有されるレベル2キャッシュ(L2キャッシュ)22を有する多段キャッシュ構成が主に用いられ、各コア上での命令実行効率を高める工夫が為されている。各CPUコア2は内部バス3を通じてプロセッサ1外部にある外部メモリ4やセンサ5に接続される。なお、簡単のためマルチコアプロセッサ1内部の詳細構成(各種機構や、詳細なバス構造)は省略する。以下の説明において、それぞれのCPUコア2が共有する記憶資源という意味で、L2キャッシュ22及び外部メモリ4を共有メモリと称する。
このようなマルチコアプロセッサ1上においてアプリケーションを実行する場合において、実際にCPUコア2を同時に動作させてアプリケーション処理を行う場合、複数のCPUコア2が、共有資源であるL2キャッシュ22や外部メモリ4に対するアクセス競合、内部バス3にかかる負荷や複数プロセスからのメモリ利用に伴うL2キャッシュ22のキャッシュヒット率変化による処理効率変化の影響を受ける。
このため、事前に規定された各アプリケーションの実行順序だけでなく、各アプリケーションの動作に応じて動的に変化するプロセッサの状態変化(L2キャッシュ22の状況、内部バス3の負荷状況)に応じる形で、アプリケーション処理の状況や順序、メモリアクセスタイミングが変化する。
さらに、割込み処理などの動作タイミングが不確定なアプリケーションも存在することから、プロセッサ1上におけるアプリケーション開発、デバッグ、および検証は、取り得るプロセッサ1の状態を鑑みてそれぞれ為される必要があり、これら各作業の複雑化と工数増大が懸念される。
また、あるプロセッサ1上にて設計・検証されたアプリケーションを別のマルチコアプロセッサに移植する場合においても、CPUコアの動作速度や数量、バスの動作速度およびバス幅、各キャッシュサイズ等の性能変化の影響によりアプリケーション挙動は変化するため、あるプロセッサ1を対象とした設計を、他のマルチコアプロセッサに移植することも容易ではない。
このようなプロセッサ1の利用、および他マルチコアプロセッサへの移植を意識した設計方式として、各アプリケーションの処理開始および完了タイミングを規定する形でアプリケーションを実行する時刻同期型の設計方式が知られている。
図2に、時刻同期型の設計思想を用い、アプリケーション処理を実行する際の構成を示す。
以下の説明においては簡単のため、アプリケーション処理は連続する2つの処理(先行処理、後続処理)から成り、それぞれ決められた周期で(本例では同じ周期)で動作するものとする。また、先行処理は共有メモリからAの領域にあるデータを読み込み、センサ5から入力を受けてメモリ状態に対応する処理を行った上で、処理結果をBの領域に格納する。後続処理は、Bの領域にあるデータを読み込み、図示しない領域Cに格納するとし、AおよびBに付加される添え字はAおよびBに付与されたラベルで、添え字をつけることで共有メモリ上のそれぞれの領域に格納された値を示すものとする。また、この添え字は例えばAの入力に基づきBの値が出力されるように、入力と出力との対応関係を示すものである。
先行処理、後続処理の2つの処理は、決められた周期(例えばT0〜T1、T1〜T2)の最初(例えばT0、T1)に共有メモリから演算に必要な値を読み込み(図中のinと記載した部分)、周期の最後に共有メモリに演算結果を書き出す(図中out)ように構成されている。演算処理はこの読み込みと書き出しとの間の任意のタイミングで実行され、アプリケーションの処理開始時(データ読み込み)と処理完了(データ書き出し)とを明確に定めるモデルに従い動作する。
このような処理構成を取ることで、演算処理が実際に行われるタイミングやその際のプロセッサ状態を検証することは難しくとも、周期の開始時と終了時の2点におけるメモリ状態に着目することで、処理の完了を確認することができる。同時に、他処理との界面を共有メモリを通じたデータ授受に限定することで、複雑なプロセッサ状態における各処理間での利用データの変化を意識する必要がなく、検証容易性が向上する。このような設計思想に基づき、既定のタイミングにおける処理開始、処理完了のみを規定することで、他のプロセッサにアプリケーションを移植した際にも、移植先のプロセッサが同処理を実行するに十分な処理性能を有する限りに於いて同様の動作が期待される。これによりアプリケーション移植性が向上する。
図2に示した例では、時刻T0において先行処理がAのデータを読み出し、T0から始まる周期中(つまりT1まで)に演算を完了しBを出力する。出力されたBは、時刻T1に開始される周期において後続処理が読み込まれて後続処理が行われ、T1から始まる周期中(T2まで)に後続処理の演算完了によりCが出力される。
一方、このような構成において、通信状態や他処理による内部バス3の負荷向上等によるセンサ5からの入力遅延により、先行処理の演算時間が想定以上に伸びるケースが想定される。
図3に示すケースでは、先行処理の終了遅延により、時刻T0から開始される周期中(T1まで)には処理が完了していない。このような場合、先行処理が入力Aを受けて処理を行った結果である領域Bへの格納結果は、共有メモリへの処理結果を書き戻すタイミングに間に合わないことから、共有メモリに書き出されない。一方で、後続処理は時刻T1から始まる周期において、共有メモリ上のBの領域にあるデータB−1を読み込んで処理を開始する。このため、後続処理は再度B−1を入力として処理を行ってしまう。結果、Aを受けてCを出力するアプリケーション全体の動作としては、Bに基づく処理が以降の周期に持ち越されることから、入力に対する処理応答性が悪化してしまう。
図4に、上記に対応する本実施例の構成を示す。本実施例では、図3のような状況に対し、後続処理に与えられた設計上の猶予時間を用いて、後続処理の開始時刻を遅延させる。これにより入力を待ち受ける時間枠を増大させ、時刻T1から始まる周期における後続処理の入力を最新の値Bとし、演算結果Cを出力することが可能となる。
このような処理を実現するためには、OSもしくはミドルウェアに対し、先行処理−後続処理間におけるデータ共有方式と、後続処理開始のための機能追加が必要となる。先行処理−後続処理の間におけるデータの共有方式としては、例えばダブルバッファリングを用いて実現する方式が挙げられる。
これにより、時刻同期型のタイミング設計方式のメリットである設計、開発、検証工数の増大抑制と移植性の向上を得つつ、設計上の猶予時間が許す範囲において、先行処理の終了遅延の場合においても応答性もしくは処理完了性能を向上することが可能となる。ただし、後続処理における猶予時間を超過しても先行処理が完了しない場合は、従来方式同様に応答性の悪化が発生する。
図5は、実施例1に係る情報処理装置の動作を説明するためのフローチャートである。
まず、プロセッサ1は、先行処理のローカルメモリへ必要データを読み込む(ステップS500)。次いで、プロセッサ1は先行処理を実行する(ステップS501)。
次に、プロセッサ1は、先行処理の終了とデータの共有メモリへの書き出しがデッドライン(演算処理の周期の終わり)までに完了したか否かを判定する(ステップS502)。そして、判定が肯定されたら(ステップS502においてYES)処理はステップS503に移行し、判定が否定されたら(ステップS502においてNO)処理はステップS506に移行する。
ステップS503では、プロセッサ1は、後続処理のローカルメモリへ先行処理の処理結果を読み込む。次いで、プロセッサ1は後続処理を実行する(ステップS504)。そして、プロセッサ1は、後続処理の結果を共有メモリへ書き出す(ステップS505)。
一方、ステップS506では、プロセッサ1が後続処理の開始を遅延させる。次いで、プロセッサ1は、先行処理の完了遅延時間が後続処理の猶予時間内であるか否かを判定する(ステップS507)。そして、判定が肯定されたら(ステップS507においてYES)処理はステップS508に移行し、判定が否定されたら(ステップS507においてNO)処理はステップS511に移行する。
ステップS508〜S510では、ステップS503〜S505と同様の処理を行う。一方、ステップS511では、後続処理のローカルメモリへ先行処理の前回の処理結果を読み込む。以降、ステップS512、S513ではステップS504、S505と同様の処理を行う。
なお、本実施例においては、時刻Tから始まる周期における先行処理の結果が時刻T1には共有メモリ上に書き出されておらず、次の時刻T1から始まる周期において先行処理が起動されずに時刻T1の周期の終了時に処理結果である値Bが共有メモリに書き戻される構成を想定している。
これ以外にも、処理構成によっては、時刻T1において時刻T0周期の処理を強制的に終了させ、共有メモリ上の値Aを読み込んで次の処理を開始する構成も取り得る。この場合は、後続処理においてBを入力とする処理が為されない場合も考えられる。このような場合においては、アプリケーション処理が期待通りに実行されないケースとなることから、後続処理には異なる影響が生じることとなり、上記の応答性悪化とは異なる問題が生じることとなる。
実施例2では、実施例1にて示した処理構成を、自動運転処理を行う制御装置へ適用する際の例として、センサ処理アプリケーションの構成と処理適用方式を説明する。
同アプリケーションの構成を図6に示す。このアプリケーションでは、外部センサからのセンサデータ受信結果をメモリに格納する処理A、および処理Aにより取り込まれたセンサデータに対し、異なる2つの認識処理を行う一連の処理群(B、C)とD、2つの認識処理結果を統合し、他アプリケーション処理へ出力を行う処理Eの5つの処理により構成され、2つのCPUコア2を用いて実行される。
同アプリケーションに含まれる各処理は図7のように実行コア割り付け、およびタイミングが設計されており、実施例1の場合と同様のタイミング設計が実施されている。
この実施例においては、1つのアプリケーション周期内に、開始および完了時刻の異なる5つの処理が配置されており、例えば処理Aは時刻T0に開始されて(copy-in)を行い、時刻T1にcopy-outが完了するよう、両時刻の間で処理が実施される。また、連続する処理B、Cの結果、および処理Dの結果を、処理Eで統合する構成となっており、処理Eの開始時刻に間に合うように、処理BとC、およびDの開始/終了時刻が定められている。
ここで、処理Aはセンサデータ受信結果をメモリに格納する処理であり、設計上の猶予時間は与えられているものの、制御装置とセンサ間の通信状況や、他通信の状況により、データ到達に遅延が発生し得る。
図8に、センサデータ到達遅延により、処理Aの終了が遅延したケースを示す。この場合も、実施例1の構成と同様に、処理Bおよび処理Dの猶予時間を用いて、処理BおよびDの開始時刻を遅延させることで、処理Aの最新の結果、すなわち最新のセンサデータに基づく以降の処理継続を試みる。
一方で、処理Bと処理Dの最遅開始タイミングは処理Bと処理Dとの実行時間および処理完了時間の違いにより、異っている。なお、最遅開始タイミングは、設計により定義されたマージンと実行時間ばらつきとを勘案し、処理構成上の開始遅延が許される最大のタイミングとする。
このようなケースにおいては、処理Aから与えられる同じセンサ入力を、2系統の制御パス、すなわち処理B、処理Cのパスと、処理Dのパスとが、同じ処理Eへ入力されることから、処理B、Cが用いる入力データと、処理Dが用いる入力データとが異なることが望ましくないケースが発生する。
このようなケースにおいては、処理Aの遅延に対する処理Dの開始遅延猶予時間(最遅開始タイミングまでの時間)は、処理Bのそれと比べて余裕はあるものの、より余裕のない処理Bの最遅開始タイミングに合わせる形で制約され、図9に示すような処理Aの最遅終了タイミングが規定される。このように、アプリケーションにおける処理構成により、最新の処理結果を用いることができる猶予時間が変化する。
なお、処理Aの最遅終了タイミングを超過しても処理Aが完了しない場合は、処理Aの前回の処理結果(すなわち、前周期におけるセンサデータ受信結果)を用いて処理Bおよび処理Dが開始される。
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
例えば、実施例2において、処理Aの終了遅延に伴い、処理Bの終了遅延が連鎖的に発生するケースなども想定される。このようなケースにおいては、処理Cの開始時刻も遅延させる対応や、処理Bの終了時刻は固定的とするケースなど、複数の実装方式が想定される。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラムまたはスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段またはCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
1:マルチコアプロセッサ、2:CPUコア、21:L1キャッシュ、22:L2キャッシュ、3:内部バス、4:外部メモリ、5:センサ


Claims (8)

  1. 記憶資源を共有する複数の処理部を有し、各々の処理部における処理が所定の時間間隔で周期的に実行される情報処理装置であって、
    特定の前記処理部における第一の前記処理がこの処理に先行する他の前記処理部における第二の前記処理の結果を利用する際において、前記他の処理部における前記第二の処理の結果が前記記憶資源に書き込まれるタイミングが前記時間間隔内に終了しないとき、前記特定の処理部における前記第一の処理の開始時刻を前記他の処理部における前記第二の処理の結果が前記記憶資源に書き込まれるタイミングまで遅らせ、前記第二の処理の結果を前記特定の処理部における前記第一の処理に利用する
    ことを特徴とする情報処理装置。
  2. 前記第一の処理の開始時刻を遅らせるタイミングは、前記第二の処理に予め定められた余裕時間を超過しない範囲内であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記特定の処理部は、前記他の処理部における前記第二の処理の結果が前記記憶資源に格納された領域から前記第二の処理の結果を読み出し、前記第一の処理を実行することを特徴とする請求項1に記載の情報処理装置。
  4. 前記第一の処理の開始時刻を遅らせている間に前記第二の処理の結果が前記記憶資源に書き込まれたら、前記特定の処理部はこの第二の処理の結果を前記第一の処理に利用し、前記第一の処理の開始時刻を前記余裕時間まで遅らせても前記第二の処理の結果が前記記憶資源に書き込まれないときは、前記特定の処理部は前回の周期における前記第二の処理の結果を前記第一の処理に利用することを特徴とする請求項2に記載の情報処理装置。
  5. 前記記憶資源は複数の領域を有し、
    前記第一の処理の開始時刻を遅らせている間に前記第二の処理の結果が前記記憶資源の特定の領域に書き込まれたら、前記特定の処理部は前記特定の領域に格納された前記第二の処理の結果を読み出してこの第二の処理の結果を前記第一の処理に利用し、前記第一の処理の開始時刻を前記余裕時間まで遅らせても前記第二の処理の結果が前記記憶資源に書き込まれないときは、前記特定の処理部は前回の周期における前記第二の処理の結果が書き込まれた前記特定の領域とは異なる前記領域に書き込まれた前記第二の処理の結果を読み出して前記第一の処理に利用する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記第一の処理は複数存在し、
    複数の前記第一の処理の開始時刻を遅らせるタイミングは、複数の前記第一の処理のうちこれら第一の処理に予め定められた余裕時間を超過しない範囲内であることを特徴とする請求項1に記載の情報処理装置。
  7. 複数の前記第一の処理に後行する前記第一の処理及び前記第二の処理と異なる第三の処理が存在するときに、複数の前記第一の処理のうちこれら第一の処理に予め定められた余裕時間を超過しない範囲内において複数の前記第一の処理の開始時刻を遅らせることを特徴とする請求項6に記載の情報処理装置。
  8. 前記第二の処理の処理開始タイミングは前記時間間隔内において不定であることを特徴とする請求項1に記載の情報処理装置。
JP2019216836A 2019-11-29 2019-11-29 情報処理装置 Active JP7428508B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019216836A JP7428508B2 (ja) 2019-11-29 2019-11-29 情報処理装置
DE112020005072.6T DE112020005072T5 (de) 2019-11-29 2020-11-13 Datenverarbeitungseinrichtung
PCT/JP2020/042368 WO2021106608A1 (ja) 2019-11-29 2020-11-13 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019216836A JP7428508B2 (ja) 2019-11-29 2019-11-29 情報処理装置

Publications (2)

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

Family

ID=76088869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019216836A Active JP7428508B2 (ja) 2019-11-29 2019-11-29 情報処理装置

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032254A1 (ja) * 2021-09-02 2023-03-09 日立Astemo株式会社 電子システム及び電子制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005043959A (ja) * 2003-07-22 2005-02-17 Toshiba Corp スケジューリング方法および情報処理システム
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199462A (ja) 2008-02-22 2009-09-03 Toyota Motor Corp マルチコアプロセッサ及びこれを用いたエンジン制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005043959A (ja) * 2003-07-22 2005-02-17 Toshiba Corp スケジューリング方法および情報処理システム
JP2016113968A (ja) * 2014-12-16 2016-06-23 アイシン精機株式会社 車両用制御装置および制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023032254A1 (ja) * 2021-09-02 2023-03-09 日立Astemo株式会社 電子システム及び電子制御装置

Also Published As

Publication number Publication date
JP7428508B2 (ja) 2024-02-06
DE112020005072T5 (de) 2022-08-04
WO2021106608A1 (ja) 2021-06-03

Similar Documents

Publication Publication Date Title
TWI469046B (zh) 基於旋轉的別名保護暫存器中的暫存器配置
KR20210011451A (ko) 하드웨어 가속을 위한 하드웨어 리소스들의 임베디드 스케줄링
JP2011086298A (ja) プログラム・フロー制御
US20090228663A1 (en) Control circuit, control method, and control program for shared memory
JP6679758B2 (ja) 制御装置を駆動するための方法及び装置
KR100730280B1 (ko) 재구성 프로세서에서 루프 버퍼를 최적화하기 위한 장치 및방법
WO2021106608A1 (ja) 情報処理装置
KR102205899B1 (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
CN114780248A (zh) 资源访问方法、装置、计算机设备及存储介质
JP4642531B2 (ja) データ要求のアービトレーション
US8910181B2 (en) Divided central data processing
CN111221573B (zh) 一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质
US9946665B2 (en) Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU)
Pereira et al. Co-designed FreeRTOS deployed on FPGA
CN112445587A (zh) 一种任务处理的方法以及任务处理装置
WO2019188177A1 (ja) 情報処理装置
JP4548505B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP6349088B2 (ja) パイプラインでブロックをスケジュールするコンパイル方法及び装置
JP6254352B2 (ja) ループのプロローグまたはエピローグの無効演算を処理する装置及び方法
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
WO2019188182A1 (ja) プリフェッチコントローラ
WO2019188178A1 (ja) マルチコアシステム
JP6392556B2 (ja) アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP4702004B2 (ja) マイクロコンピュータ

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