JP7073933B2 - マルチコアマイコン及び並列化方法 - Google Patents
マルチコアマイコン及び並列化方法 Download PDFInfo
- Publication number
- JP7073933B2 JP7073933B2 JP2018113736A JP2018113736A JP7073933B2 JP 7073933 B2 JP7073933 B2 JP 7073933B2 JP 2018113736 A JP2018113736 A JP 2018113736A JP 2018113736 A JP2018113736 A JP 2018113736A JP 7073933 B2 JP7073933 B2 JP 7073933B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- data
- core
- unit
- processing
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/453—Data distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/458—Synchronisation, e.g. post-wait, barriers, locks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
並列プログラムは、シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けと実行順序とが決定されたものであり、
マルチコアマイコンの複数のコアは、それぞれ、自コアに割り付けられた、複数のタスクに属するそれぞれの処理単位から、実行すべき処理単位を選択する選択部(S110~S200、S310~S400、510~S610、S670)を有し、
選択部は、
各タスクの処理単位を対象として、当該処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する判定部(S140、S340、S540)と、
判定部によって利用予定のデータにアクセス可能と判定された処理単位を実行すべき処理単位として決定するとともに、他コアにおいて実行される処理単位による該当データへのアクセスを禁止するための禁止処理(S150、S350、S550、S670)を実行する決定時処理部(S150~S160、S350~S360、S550~S560、S670)と、を備え、
複数のコアは、それぞれ、決定時処理部によって決定された処理単位に含まれる命令を実行するものであり、
並列プログラムの各々の処理単位は、その開始ポイントを示す開始ポイント命令を含み、
開始ポイント命令は、対応する処理単位に含まれる命令によってデータへのアクセスが行われる場合、利用予定のデータを示すアクセスデータ情報を含むように構成される。
シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けと実行順序とを決定するコア割付及び実行順序決定手順(10a~10d)と、
実行順序決定手順にて決定された複数のコアへの割り付け及び実行順序に従って複数の処理単位がマルチコアマイコンの複数のコアで実行されるように並列プログラムを生成するとともに、並列プログラムの各々の処理単位の開始ポイントに開始ポイント命令を追加し、終了ポイントに終了ポイント命令を追加する並列プログラム生成手順(10e、10f)と、を備え、
開始ポイント命令と終了ポイント命令とは、マルチコアマイコンにおいて、複数のコアで同時期に実行される処理単位に含まれる命令によって同じデータへアクセスしないようにデータアクセスの調停を行なわせるとともに、同じデータへのアクセスが禁止されたコアにおいて、同じデータへアクセスする処理単位を含むタスク以外の別のタスクの処理単位を実行させるものである。
以下において、図面を参照しながら、発明を実施するための第1実施形態を説明する。本実施形態では、並列化ツールとしてのコンピュータ10が、コアが一つであるシングルコアマイコン用のシングルプログラムから、2個以上のコア31c、31dを有するマルチコアマイコン31用に並列化した並列プログラム31a1を生成する例について説明する。なお、マルチコアマイコン31のコアの数は、3個以上であっても良い。
次に、本発明の第2実施形態について説明する。上述した第1実施形態では、並列プログラム31a1’の各タスクのそれぞれの処理単位によりアクセスされるデータの各々に個別に対応するように設定される禁止フラグを用いて、各コア31c,31dにて実行される処理単位の相互干渉を防止するものであった、しかしながら、1つのコアで実行中の処理単位によってアクセスされるデータへの、他のコアで実行される処理単位によるアクセスを禁止する手法は、上述した第1実施形態の手法に限られない。本第2実施形態では、第1実施形態とは異なる手法の一例について説明する。
次に、本発明の第3実施形態について説明する。上述した第1実施形態及び第2実施形態では、1つのコアがアクセスしているデータへの他コアによるアクセスを禁止することにより、複数のコアで実行される処理単位による相互干渉を防止するものであった。
Claims (17)
- コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン用の並列プログラム(31a1’)を実行するマルチコアマイコン(31)であって、
前記並列プログラムは、前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とが決定されたものであり、
前記マルチコアマイコンの前記複数のコアは、それぞれ、自コアに割り付けられた、複数のタスクに属するそれぞれの処理単位から、実行すべき処理単位を選択する選択部(S110~S200、S310~S400、510~S610、S670)を有し、
前記選択部は、
各タスクの処理単位を対象として、当該処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する判定部(S140、S340、S540)と、
前記判定部によって利用予定のデータにアクセス可能と判定された処理単位を実行すべき処理単位として決定するとともに、他コアにおいて実行される処理単位による該当データへのアクセスを禁止するための禁止処理(S150、S350、S550、S670)を実行する決定時処理部(S150~S160、S350~S360、S550~S560、S670)と、を備え、
前記複数のコアは、それぞれ、前記決定時処理部によって決定された処理単位に含まれる命令を実行するものであり、
前記並列プログラムの各々の処理単位は、その開始ポイントを示す開始ポイント命令を含み、
前記開始ポイント命令は、対応する処理単位に含まれる命令によって前記データへのアクセスが行われる場合、利用予定のデータを示すアクセスデータ情報を含むマルチコアマイコン。 - 前記判定部は、前記開始ポイント命令に応じて、処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する請求項1に記載のマルチコアマイコン。
- 前記並列プログラムの各々の処理単位は、その終了ポイントを示す終了ポイント命令を含み、
前記決定時処理部による前記禁止処理は、前記終了ポイント命令に応じて解除される請求項1又2に記載のマルチコアマイコン。 - コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン用の並列プログラム(31a1’)を実行するマルチコアマイコン(31)であって、
前記並列プログラムは、前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とが決定されたものであり、
前記並列プログラムは、処理優先度の異なる複数のタスクを含むものであり、
前記マルチコアマイコンの前記複数のコアは、それぞれ、自コアに割り付けられた、複数のタスクに属するそれぞれの処理単位であって、決定された前記複数の処理単位の実行順序に従って実行対象となりえる処理単位から、実行すべき処理単位を選択する選択部(S110~S200、S310~S400、510~S610、S670)を有し、
前記選択部は、
前記複数のタスクのそれぞれの処理優先度に基づいて、相対的に処理優先度の最も高いタスクに属する処理単位を特定する特定部(S110、S310、S510)と、
前記特定部により特定された処理単位を対象として、当該処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する判定部(S140、S340、S540)と、
前記判定部によって利用予定のデータにアクセス不可と判定されると、前記判定部の判定対象となる処理単位を、次に処理優先度の高いタスクに属する処理単位に切り替える切替部(S170~S200、S370~S400、S580~S610)と、
前記判定部によって利用予定のデータにアクセス可能と判定された処理単位を実行すべき処理単位として決定するとともに、他コアにおいて実行される処理単位による該当データへのアクセスを禁止するための禁止処理(S150、S350、S550、S670)を実行する決定時処理部(S150~S160、S350~S360、S550~S560、S670)と、を備え、
前記切替部は、前記判定部によって前記データにアクセス不可と判定された処理単位が、最も低い処理優先度のタスクに属する場合、前記判定部の判定対象となる処理単位を、最も高い処理優先度のタスクに属する処理単位に切り替えるものであり、
前記複数のコアは、それぞれ、前記決定時処理部によって決定された処理単位に含まれる命令を実行するマルチコアマイコン。 - 前記切替部は、前記判定部の判定対象となる処理単位を、最も低い処理優先度のタスクに属する処理単位から最も高い処理優先度のタスクに属する処理単位に切り替える場合、一定の待機時間の経過後に切り替えを行う請求項4に記載のマルチコアマイコン。
- 少なくとも自コアに割り付けられた前記複数のタスクの各処理単位に含まれる命令を格納する複数の命令キュー(42a、42b)と、
前記命令キューから与えたれた命令に応じた演算処理を実行する演算処理部(45)と、を有し、
前記複数の命令キューに、前記複数のタスクに属するそれぞれの処理単位に含まれる命令が保存され、
前記切替部は、前記演算処理部への命令の供給元となる命令キューを切り替える請求項4又は5に記載のマルチコアマイコン。 - コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン用の並列プログラム(31a1’)を実行するマルチコアマイコン(31)であって、
前記並列プログラムは、前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とが決定されたものであり、
前記マルチコアマイコンの前記複数のコアは、それぞれ、自コアに割り付けられた、複数のタスクに属するそれぞれの処理単位から、実行すべき処理単位を選択する選択部(S110~S200、S310~S400、510~S610、S670)を有し、
前記選択部は、
各タスクの処理単位を対象として、当該処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する判定部(S140、S340、S540)と、
前記判定部によって利用予定のデータにアクセス可能と判定された処理単位を実行すべき処理単位として決定するとともに、他コアにおいて実行される処理単位による該当データへのアクセスを禁止するための禁止処理(S150、S350、S550、S670)を実行する決定時処理部(S150~S160、S350~S360、S550~S560、S670)と、を備え、
前記決定時処理部は、前記禁止処理(S150、S550)として、利用予定の前記データが使用中であることを示すフラグを立てる処理を実施して当該データをロックするとともに、前記他コアに対して別のタスクの処理単位への切り替えを禁止する指示を出力するものであり、
前記判定部は、利用予定の前記データに対応するフラグが立てられてロックされているか否かにより、当該データにアクセス可能であるか否かを判定するものであり、
前記複数のコアは、それぞれ、前記決定時処理部によって決定された処理単位に含まれる命令を実行するマルチコアマイコン。 - コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン用の並列プログラム(31a1’)を実行するマルチコアマイコン(31)であって、
前記並列プログラムは、前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とが決定されたものであり、
前記複数のコアによってアクセス可能なメモリと、
前記メモリに対するアクセスを管理するメモリ管理部(47)と、を備え、
前記マルチコアマイコンの前記複数のコアは、それぞれ、自コアに割り付けられた、複数のタスクに属するそれぞれの処理単位から、実行すべき処理単位を選択する選択部(S110~S200、S310~S400、510~S610、S670)を有し、
前記選択部は、
各タスクの処理単位を対象として、当該処理単位の実行時に利用予定のデータにアクセス可能であるか否かを判定する判定部(S140、S340、S540)と、
前記判定部によって利用予定のデータにアクセス可能と判定された処理単位を実行すべき処理単位として決定するとともに、他コアにおいて実行される処理単位による該当データへのアクセスを禁止するための禁止処理(S150、S350、S550、S670)を実行する決定時処理部(S150~S160、S350~S360、S550~S560、S670)と、を備え、
前記複数のコアが、割り付けられた前記複数のタスクのそれぞれの処理単位を実行する
際に利用する前記データは、前記メモリに記憶され、
前記決定時処理部は、前記禁止処理(S350)として、前記メモリ管理部へ利用予定の前記データのロックを指示する処理を実施するとともに、前記他コアに対して別のタスクの処理単位への切り替えを禁止する指示を出力するものであり、
前記判定部は、前記メモリ管理部によって利用予定の前記データがロックされているか否かにより、当該データにアクセス可能であるか否かを判定するものであり、
前記複数のコアは、それぞれ、前記決定時処理部によって決定された処理単位に含まれる命令を実行するマルチコアマイコン。 - 前記マルチコアマイコンは、車両に搭載された車載機器を制御するための車載装置に適用され、前記並列プログラムを実行することで前記車載機器を制御するものである請求項1乃至8のいずれかに記載のマルチコアマイコン。
- コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(31c,31b)を有するマルチコアマイコン用の並列プログラム(31a1)を生成する並列化方法であって、
前記シングルプログラムに含まれる、複数の処理単位からなるタスク毎に、前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けと実行順序とを決定するコア割付及び実行順序決定手順(10a~10d)と、
前記実行順序決定手順にて決定された前記複数のコアへの割り付け及び実行順序に従って前記複数の処理単位が前記マルチコアマイコンの前記複数のコアで実行されるように前記並列プログラムを生成するとともに、前記並列プログラムの各々の処理単位の開始ポイントに開始ポイント命令を追加し、終了ポイントに終了ポイント命令を追加する並列プログラム生成手順(10e、10f)と、を備え、
前記開始ポイント命令と前記終了ポイント命令とは、前記マルチコアマイコンにおいて、前記複数のコアで同時期に実行される処理単位に含まれる命令によって同じデータへアクセスしないようにデータアクセスの調停を行なわせるとともに、前記同じデータへのアクセスが禁止されたコアにおいて、前記同じデータへアクセスする処理単位を含むタスク以外の別のタスクの処理単位を実行させるものである並列化方法。 - 前記開始ポイント命令は、対応する処理単位に含まれる命令によって前記データへのアクセスが行われる場合、そのアクセス対象となるデータを示すアクセスデータ情報を含む請求項10に記載の並列化方法。
- 前記開始ポイント命令は、前記アクセスデータ情報が示すデータにアクセス可能か否かを判定する命令を含む請求項11に記載の並列化方法。
- 前記開始ポイント命令は、前記アクセスデータ情報が示すデータにアクセス不可と判定した場合に、別のタスクの処理単位へ切り替える命令を含む請求項12に記載の並列化方法。
- 前記開始ポイント命令は、前記アクセスデータ情報が示すデータにアクセス可能と判定した場合に、当該データをロックする命令を含む請求項12又は13に記載の並列化方法。
- 前記終了ポイント命令は、前記データのロックを解除する命令を含む請求項14に記載の並列化方法。
- 前記並列プログラム生成手順は、前記データのロック指示命令を含む前記開始ポイント命令に続いて、他のコアに対して他のタスクの処理単位への切り替えを禁止する禁止命令を追加する請求項14又は15に記載の並列化方法。
- 前記並列プログラム生成手順は、前記終了ポイント命令の直前に、前記禁止命令を解除する解除命令を追加する請求項16に記載の並列化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018113736A JP7073933B2 (ja) | 2018-06-14 | 2018-06-14 | マルチコアマイコン及び並列化方法 |
DE102019207629.7A DE102019207629A1 (de) | 2018-06-14 | 2019-05-24 | Mehrkernmikrocomputer und Parallelisierungsverfahren |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018113736A JP7073933B2 (ja) | 2018-06-14 | 2018-06-14 | マルチコアマイコン及び並列化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019215804A JP2019215804A (ja) | 2019-12-19 |
JP7073933B2 true JP7073933B2 (ja) | 2022-05-24 |
Family
ID=68724928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018113736A Active JP7073933B2 (ja) | 2018-06-14 | 2018-06-14 | マルチコアマイコン及び並列化方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7073933B2 (ja) |
DE (1) | DE102019207629A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024177197A1 (en) * | 2023-02-21 | 2024-08-29 | Samsung Electronics Co., Ltd. | Method and electronic device for data packet flow distribution in multi-core processor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164755A1 (en) | 2007-12-19 | 2009-06-25 | International Business Machines Corporation | Optimizing Execution of Single-Threaded Programs on a Multiprocessor Managed by Compilation |
WO2012014287A1 (ja) | 2010-07-27 | 2012-02-02 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP2017228029A (ja) | 2016-06-21 | 2017-12-28 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10289129A (ja) * | 1997-04-15 | 1998-10-27 | Mitsubishi Electric Corp | デバック用タスクスケジューラ |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2018
- 2018-06-14 JP JP2018113736A patent/JP7073933B2/ja active Active
-
2019
- 2019-05-24 DE DE102019207629.7A patent/DE102019207629A1/de active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164755A1 (en) | 2007-12-19 | 2009-06-25 | International Business Machines Corporation | Optimizing Execution of Single-Threaded Programs on a Multiprocessor Managed by Compilation |
WO2012014287A1 (ja) | 2010-07-27 | 2012-02-02 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
JP2017228029A (ja) | 2016-06-21 | 2017-12-28 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102019207629A1 (de) | 2019-12-19 |
JP2019215804A (ja) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gai et al. | A comparison of MPCP and MSRP when sharing resources in the Janus multiple-processor on a chip platform | |
US9170844B2 (en) | Prioritization for conflict arbitration in transactional memory management | |
US7257814B1 (en) | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors | |
JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
JP5745868B2 (ja) | マルチプロセッサシステム | |
KR100902977B1 (ko) | 하드웨어 공유 시스템 및 방법 | |
Forsberg et al. | HePREM: Enabling predictable GPU execution on heterogeneous SoC | |
JP7073933B2 (ja) | マルチコアマイコン及び並列化方法 | |
JP2007188523A (ja) | タスク実行方法およびマルチプロセッサシステム | |
US20030097395A1 (en) | Executing irregular parallel control structures | |
JP4206653B2 (ja) | タスクスケジューリングシステムおよび方法、プログラム | |
JP2684993B2 (ja) | プロセッサシステムとその制御方法 | |
JP7346649B2 (ja) | 同期制御システムおよび同期制御方法 | |
JP2005129001A (ja) | プログラム実行装置、マイクロプロセッサ及びプログラム実行方法 | |
EP1299801A1 (en) | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors | |
Kluge et al. | Implementing AUTOSAR scheduling and resource management on an embedded SMT processor | |
Ward | Sharing non-processor resources in multiprocessor real-time systems | |
JP2004362425A (ja) | 資源競合制御システム及び制御方法並びにプログラム | |
JP7095513B2 (ja) | マルチコアマイコン、及び車載装置 | |
WO2020213397A1 (ja) | プロセッサおよびレジスタの継承方法 | |
JP2020086807A (ja) | 車両制御装置およびプログラム実行方法 | |
Cortadella et al. | Quasi-static scheduling for concurrent architectures | |
JPH09282188A (ja) | 割込処理方法およびこの方法を用いたシステム | |
Alhammad | Memory Efficient Scheduling for Multicore Real-time Systems | |
JP2023091314A (ja) | 半導体装置、半導体装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220323 |
|
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: 20220412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220425 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7073933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |