JP7294430B2 - プロセッサ及びイベント処理方法 - Google Patents

プロセッサ及びイベント処理方法 Download PDF

Info

Publication number
JP7294430B2
JP7294430B2 JP2021545041A JP2021545041A JP7294430B2 JP 7294430 B2 JP7294430 B2 JP 7294430B2 JP 2021545041 A JP2021545041 A JP 2021545041A JP 2021545041 A JP2021545041 A JP 2021545041A JP 7294430 B2 JP7294430 B2 JP 7294430B2
Authority
JP
Japan
Prior art keywords
event
state
standby
instruction
control unit
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
JP2021545041A
Other languages
English (en)
Other versions
JPWO2021048964A1 (ja
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.)
Sanken Electric Co Ltd
Original Assignee
Sanken Electric Co 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 Sanken Electric Co Ltd filed Critical Sanken Electric Co Ltd
Publication of JPWO2021048964A1 publication Critical patent/JPWO2021048964A1/ja
Application granted granted Critical
Publication of JP7294430B2 publication Critical patent/JP7294430B2/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、イベント処理を実行するプロセッサ及びイベント処理方法に関するものである。
メインCPUに替わって各種イベント処理を実行するプロセッサ(演算ユニット)としてイベントプロセッシングユニット(EPU:Event Processing Unit)が用いられている。EPUは、プログラムカウンタ(PC)や汎用レジスタ等からなるハードウェアコンテキスト(以下、スレッドと称す)を複数持ち、優先順位に従ってスレッドを選択し、スレッドに対応するシーケンスを1つの演算装置で実行する構成である(例えば、特許文献1参照)。スレッドに対応するシーケンスは、プログラムメモリに格納され、各スレッドのPCが実行しようとするプログラムメモリ上の位置(アドレス)を示す。演算装置は、選択されたスレッドのPCが示すプログラムメモリのアドレスからプログラムコードを読み込み(フェッチ)そのコードに対応する演算を実行する。
EPUには、各スレッドに対応したイベントが入力される。そして、各スレッドは、イベントが入力されて有効化されると、命令を実行または実行要求中であるRUN(実行)状態と、命令の実行を待機しているWAIT(待機)状態をとる。RUN状態からWAIT状態の遷移は、当該スレッドが実行する命令によって発生する。WAIT状態からRUN状態へは、当該スレッドへ入力されるイベントが発生したとき、または内部タイマによる計測している時間が経過したときに発生する。命令とイベント入力によって、各スレッドの命令実行の開始と停止を制御して必要なときに、必要な命令を実行させる動作をする。
スレッドをWAIT状態に遷移させる命令は、EVTWAIT命令がある。EVTWAIT命令はオペランドに入力イベント番号を持つ。EVTWAIT命令が実行されると当該スレッドはRUN状態からWAIT状態に遷移し、指定した入力イベント番号に相当するイベントが発生するとWAIT状態からRUN状態に遷移する。
特開2019-101543号公報
EVTWAIT命令の実行後にRUN状態に復帰するまでの時間を計測することが求められている。例えば、電源の負荷が軽いとき、間欠動作させて低消費電力化を図る電源システムに用いられているEPUでは、間欠動作をEVTWAIT命令による待機状態と出力電源電圧の低下の検出機構からのイベント入力による再開動作によって実現する。このとき電源の待機から再開までの時間を計測することによって、待機中の負荷を推定し、間欠動作から通常動作に切り替える判定に用いることがある。
現状は、EVTWAIT命令実行前に外部タイマを起動し、再開直後のタイマのカウント値を参照することで待機から再開までの時間を計測している。この方式では、外部タイマリソースを消費することに加えて、外部タイマの制御の手間がそのままスレッドのプログラムサイズと実行時間に影響してしまう。制御ループを数百nsで実行しなければならないこともある厳しいリアルタイム性を要求される電源システムにおいて、決して無視できない処理時間となっている。
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、EVTWAIT命令の実行後にRUN状態に復帰するまでの時間を、外部タイマリソースを消費することなく、リアルタイムに計測することができるプロセッサ及びイベント処理方法を提供する点にある。
本発明に係るプロセッサ及びイベント処理方法は、上記の目的を達成するため、次のように構成される。
本発明のプロセッサは、待受イベントを指定したイベント待受命令によって、命令を実行または実行要求中である実行状態から命令の実行を待機している待機状態に遷移させ、前記待受イベントの発生によって、前記待機状態から前記実行状態に遷移させるスレッドを複数備えたプロセッサであって、複数の前記スレッドは、初期値からカウントを開始するタイマカウンタと、イベントの発生を知らせるイベント入力を検出するイベント入力制御部と、前記イベント入力によって前記待受イベントを検出する待受イベント検出部と、前記イベント待受命令によって、前記実行状態から前記待機状態に遷移させると共に、前記タイマカウンタにカウント開始を指示するカウント開始信号を出力し、前記待受イベントの検出によって、前記待機状態から前記実行状態に遷移させると共に、前記タイマカウンタによるカウントの終了を指示するカウント終了信号を出力する状態制御部と、前記状態制御部からの前記カウント終了信号の出力により、前記タイマカウンタのカウント値を取り込んで保持する計測値レジスタと、をそれぞれ具備することを特徴とする。
また、本発明のイベント処理方法は、待受イベントを指定したイベント待受命令によって、命令を実行または実行要求中である実行状態から命令の実行を待機している待機状態に遷移させ、前記待受イベントの発生によって、前記待機状態から前記実行状態に遷移させるスレッドを複数備えたプロセッサのイベント処理方法であって、複数の前記スレッドは、タイマカウンタと、イベント入力制御部と、待受イベント検出部と、状態制御部と、計測値レジスタと、をそれぞれ備え、前記イベント入力制御部は、イベントの発生を知らせるイベント入力を検出し、前記待受イベント検出部は、前記イベント入力によって前記待受イベントを検出し、前記状態制御部は、前記イベント待受命令によって、前記実行状態から前記待機状態に遷移させると共に、カウント開始信号を出力し、前記待受イベントの検出によって、前記待機状態から前記実行状態に遷移させると共に、カウント終了信号を出力し、前記タイマカウンタは、前記状態制御部からの前記カウント開始信号の出力により、初期値からカウントを開始すると共に、前記状態制御部からの前記カウント終了信号の出力により、カウントを終了し、前記計測値レジスタは、前記状態制御部からの前記カウント終了信号の出力により、前記タイマカウンタのカウント値を取り込んで保持することを特徴とする。
本発明のプロセッサは、上位システムは、初期値及び計測値レジスタのカウント値を参照することで、イベント待受命令の実行後に実行状態に復帰するまでの時間を、外部タイマリソースを消費することなく、リアルタイムに計測することができるという効果を奏する。
本発明に係るプロセッサの実施の形態の構成を示すブロック図である。 図1に示すスレッドの状態遷移を説明する説明図である。 図1に示すプロセッサコア、スレッド選択制御部及びスレッド内のイベント制御部の詳細構成を示すブロック図である。 WAIT期間の計測要求を伴うEVTWAIT命令による図1に示すプロセッサの動作を示すフローチャートである。 図1に示すカウンタタイマの動作を説明する説明図である。 本発明に係るプロセッサの電源システムへの適用例を説明する説明図である。 WAIT期間の計測要求を伴うMEVTWAIT命令による図1に示すプロセッサの動作を示すフローチャートである。 図1に示すカウンタタイマの動作を説明する説明図である。
以下に、本発明の好適な実施の形態を添付図面に基づいて説明する。
本実施の形態のプロセッサ1は、図示しないメインCPU等の上位システムに替わって各種イベント処理を実行するとしてイベントプロセッシングユニット(EPU:Event Processing Unit)であり、図1を参照すると、2個のスレッド2(2、2)と、プロセッサコア3と、スレッド選択制御部4と、システムバススレーブI/F5と、システムバスマスタ6と、命令メモリアクセスI/F7と、データメモリアクセスI/F8と、メモリ9とを備えている。なお、本実施の形態では、スレッド2の数を2個としたが、スレッド2の数には特に制限はない。
スレッド2は、32ビットの汎用レジスタ群R0~R15と、64ビットの演算の積算を格納する格納領域ACCと、9ビットのカウンタタイマTMRと、カウンタタイマTMRのカウントタイミングを設定する設定領域PRESCALERと、32ビット浮動小数点演算(FPU)の動作モードおよびステータスの設定領域FPUflag/modeと、スタックポインタSPと、プログラムカウンタPCと、演算結果のキャリフラグCと、比較結果保持領域Tとをコンテキストとして有している。また、スレッド2は、上述のコンテキストに加えて、入力イベントおよび出力イベントを制御するイベント制御部21を有している。なお、スレッド2の構成要素は、本発明に必須なカウンタタイマTMRとイベント制御部21以外は汎用的なCPUの構成であればどのような構成をとっても構わない。
プロセッサコア3は、メモリ9から命令コードをフェッチする機構、フェッチしたコードをどのような命令かを解釈する命令デコーダ、演算器およびデータアクセス命令を処理する機構で構成される。プロセッサコア3は、演算器として整数演算器INTおよび浮動小数点演算器FPUを有している。整数演算器INTは、加減算論理演算回路ALU、比較回路CMP及び乗算器MULで構成されていると共に、浮動小数点演算器FPUは、加減算器ADD、除算器DIVおよび乗算器MULで構成され、命令に従ってこれらの構成を組み合わせて演算が実行される。
データアクセス命令は、レジスタ間アクセス命令、メモリアクセス命令、システムバスアクセス命令で構成される。プロセッサコア3は、レジスタ間アクセス命令によって、スレッド選択制御部4を経由してレジスタ間でのデータ転送を行う。また、プロセッサコア3は、メモリアクセス命令によって、データメモリアクセスI/F8を介してメモリ9からの読み込みおよびメモリ9への書き込みを行う。さらに、プロセッサコア3は、システムバスアクセス命令によって、システムバスマスタ6を介してシステムバス10に接続されている各種周辺モジュールへ読み込みまたは書き込みを行う。
スレッド選択制御部4は、各スレッド2(2、2)からの命令実行要求から優先順位に従って1つのスレッドを選択してプロセッサコア3にコンテキストを渡す。なお、優先順位は、予め設定された固定優先順位(例えばスレッド番号が小さいほど優先順位が高いなど)、ラウンドロビン(実行が停止した直後のスレッドの優先順位を最も低くすることによりスレッド2間で優先順位を循環させる方式)、固定優先順位とラウンドロビンとを混在させた方式等が考えられる。
システムバススレーブI/F5は、スレッド2(2、2)とシステムバス10との間のインターフェースであり、メインCPU等の上位システムからシステムバス10を介してのアクセスを処理する。コンテキストの初期設定、動作開始/停止およびメモリへのプログラム配置もシステムバススレーブI/F5を介して行われる。
システムバスマスタ6は、プロセッサコア3とシステムバス10との間のインターフェースであり、プロセッサコア3で発行されたシステムバスアクセス命令に従って、システムバス10へのアクセスを制御する機能を有する。
命令メモリアクセスI/F7は、プロセッサコア3とメモリ9との間のインターフェースであり、プロセッサコア3からの命令フェッチ要求とフェッチアドレスを受けて、メモリ9へのアクセスを行う。
データメモリアクセスI/F8は、プロセッサコア3とメモリ9との間のインターフェースであり、プロセッサコア3で発行されたデータメモリアクセス命令に従って、メモリ9へのアクセスを制御する。また、データメモリアクセスI/F8は、システムバススレーブI/F5からのメモリアクセスも処理する。従って、データメモリアクセスI/F8は、プロセッサコア3とシステムバス10からのアクセスを調停する機能を有する。
メモリ9は、イベントを実行するためのプログラムおよびデータを格納する記憶領域である。本実施の形態では、命令およびデータを1つのメモリ9に格納している。そして、メモリ9は、命令メモリアクセスI/F7に接続されるリードオンリ1portと、データメモリアクセスI/F8に接続されるリードライト1portとの計2portを備えている。
図2を参照すると、スレッド2は、STOP状態(停止状態)と、命令を実行または実行要求中であるRUN状態(実行状態)と、命令の実行を待機しているWAIT状態(待機状態)との間を状態遷移する。STOP状態のスレッド2は、命令実行の要求を出さず、停止する。リセットなどの初期化時にSTOP状態となる。RUN状態のスレッド2は、命令の実行の要求を出力する。スレッド選択制御部4によって選択されたスレッド2が命令実行要求を受け付け、演算部(プロセッサコア3)が命令実行を行う。WAIT状態のスレッド2は、一時的に命令実行を停止する。
STOP状態からRUN状態への状態遷移は、メインCPUなどの上位システムからの制御レジスタへの設定や、他のスレッド2からの有効化命令による。また、RUN状態からWAIT状態への状態遷移は、EVTWAIT命令(イベント待受命令)又はMEVTWAIT命令(複数イベント待受命令)の実行による。WAIT状態からRUN状態への状態遷移は、待受イベントの発生の検出による。RUN状態からSTOP状態への状態遷移と、WAIT状態からSTOP状態への状態遷移とは、メインCPUなどの上位システムからEPUの制御レジスタへの設定や、他スレッド2からの無効化命令による。
図3には、プロセッサコア3、スレッド選択制御部4及びスレッド2(イベント制御部21)の詳細構成が示されている。
プロセッサコア3は、図示していない命令フェッチ機構において、スレッド選択部で選択されたスレッドの命令コードをメモリ9からフェッチする共に、選択されたスレッドをスレッド識別情報として保持する。命令コードは、オペコード(opcode)とオペランド(oprand)に分離される。オペコードは命令の種類、オペランドはその命令に付随するデータや情報を示す。プロセッサコア3は、命令デコーダ31を備え、命令デコーダ31は、オペコードをデコードし、命令コードがEVTWAIT命令である場合、EVTWAIT命令であることを示すEVTWAIT信号を、命令コードがMEVTWAIT命令である場合、MEVTWAIT命令であることを示すMEVTWAIT信号をそれぞれ出力する。また、命令デコーダ31は、オペコードをデコードし、命令コードがWAIT状態の期間(以下、WAIT期間)の計測を要求するものである場合、カウンタタイマTMRの動作を有効にすることを示すTMR動作信号も出力する。オペランドは、EVTWAIT命令の場合、どのイベントを待ち受けるかを示す待受イベント情報となり、MEVTWAIT命令の場合、復帰ステータスを格納するレジスタを選択する復帰ステータス格納先選択情報となる。
スレッド選択制御部4は、スレッド識別情報に基づいて命令コードを実行するスレッド2を選択し、選択したスレッド2に待受イベント情報、EVTWAIT信号、MEVTWAIT信号、TMR動作信号および復帰ステータス格納先選択信号を伝達する。
スレッド2のイベント制御部21は、TMRSETレジスタ22、TMRCAPレジスタ23、EVTSTSレジスタ24及びEVTSELレジスタ25を備え、イベント入力制御部26、EVTWAIT命令検出部27、MEVTWAITイベント制御部28、MEVTWAIT命令検出部29及び状態制御部30として機能する。
カウンタタイマTMRは、状態制御部30からのカウント開始信号によりTMRSETレジスタ22にセットされた初期値をカウンタ値としてロードする。TMRSETレジスタ22への初期値のセットは、上位システムからシステムバススレーブI/F5を経由して行われる。また、命令コードのオペランドに初期値を含め、命令コード毎にセットするようにしても良い。
カウンタタイマTMRは、状態制御部30からのカウントダウン信号によりPRESCALERに設定されたカウントダウンタイミングでカウンタ値をカウントダウンする。そして、カウンタタイマTMRは、カウントダウン信号でカウンタ値が0になるとタイマイベントを出力する。
TMRCAPレジスタ23は、状態制御部30からのカウント終了信号によりカウンタタイマTMRのカウンタ値を取り込む。
EVTSTSレジスタ24は、イベントごとに1ビット割り当てられたステータスレジスタであり、発生したイベントを検出するイベント入力制御部26として機能する。イベント入力(イベントの発生)により、EVTSTSレジスタ24の該当するステータスビットが1になることで、発生したイベントが検出される。なお、イベント入力は、外部機能モジュールからの入力のほかに、カウンタタイマTMRから出力されるタイマイベントがある。状態制御部から出力されるステータスクリア信号によって、EVTSTSレジスタ24の該当するステータスビットが1から0になり、イベントが検出されていない状態となる。
EVTWAIT命令検出部27は、状態制御部30からの検出開始信号により、待受イベントに対応するEVTSTSレジスタ24のステータスビットが1になるのを待ち受ける。そして、待受イベントに対応するEVTSTSレジスタ24のステータスビットが1になったことを検出すると、検出信号を状態制御部30に出力する。
EVTSELレジスタ25は、イベントごとに1ビット割り当てられたステータスレジスタであり、MEVTWAIT命令で待受する複数のイベントが設定される。EVTSELレジスタ25の設定は、上位システムからシステムバススレーブI/F5を経由して行われる。また、命令コードのオペランドにEVTSELレジスタ25の設定を含め、命令コード毎にセットするようにしても良い。
EVTSELレジスタ25は、EVTSTSレジスタ24とEVTSELレジスタ25とをビットごとにAND演算することで待受するイベントを選択する選択部281と、待受するイベントが複数同時に検出される場合の優先制御を行うイベント優先制御部282と共に、MEVTWAIT命令で待受したイベントの発生を検出してMEVTWAIT命令検出部29に出力するMEVTWAITイベント制御部28として機能する。以下、MEVTWAITイベント制御部28によって検出されたイベントをMEVTWAITイベントと称す。なお、イベント優先制御部282による優先制御は、予め設定された固定優先順位、ラウンドロビン、固定優先順位とラウンドロビンとを混在させた方式等が考えられる。
MEVTWAIT命令検出部29は、状態制御部30からの検出開始信号によりMEVTWAITイベント制御部28によるMEVTWAITイベントの検出を待ち受ける。そして、MEVTWAIT命令検出部29は、EVTWAITイベント制御部28によってMEVTWAITイベントが検出されると、検出信号を状態制御30に出力すると共に、検出されたMEVTWAITイベントを特定するための情報として復帰イベント識別情報を汎用レジスタ群R0~R15に出力する。
汎用レジスタ群R0~R15は、状態制御部30から復帰ステータス格納先(レジスタR0~R15のいずれか)を指定した復帰ステータス書込み信号を受け取ると、指定されたレジスタR0~R15のいずれかに復帰イベント識別情報を書き込む。これにより、MEVTWAIT命令からの復帰後、復帰イベント識別情報を確認することで、MEVTWAIT命令後にどのイベントで復帰したかを判別することができ、復帰後の処理を切り替えることが可能になる。
状態制御部30は、EVTWAIT信号によりEVTWAIT命令検出部27に検出開始信号を出力し、スレッド2をRUN状態からWAIT状態に遷移させる。そして、状態制御部30は、EVTWAIT命令検出部27からの検出信号により、スレッド2をWAIT状態からRUN状態に遷移させてスレッドの命令実行を再開すると共に、ステータスクリア信号をEVTSTSレジスタ24に出力する。
状態制御部30は、MEVTWAIT信号により、MEVTWAIT命令検出部29に検出開始信号を出力し、スレッド2をRUN状態からWAIT状態に遷移させる。そして、状態制御部30は、MEVTWAIT命令検出部29からの検出信号により、スレッド2をRUN状態からWAIT状態に遷移させてスレッドの命令実行を再開すると共に、ステータスクリア信号をEVTSTSレジスタ24に出力し、復帰ステータス格納先を指定した復帰ステータス書込み信号を汎用レジスタ群R0~R15に出力する。
また、状態制御部30は、EVTWAIT信号又はMEVTWAIT信号と共にTMR動作信号が入力されると、カウント開始信号を出力する。そして、WAIT状態の間、カウントダウン信号を出力すると共にもWAIT状態からRUN状態への遷移時にカウント終了信号を出力する。
次に、WAIT期間の計測要求を伴うEVTWAIT命令によるプロセッサ1の動作について図4及び図5を参照して詳細に説明する。
図4を参照すると、プロセッサコア3は、スレッド選択制御部4により選択されたスレッドのプログラムカウンタPCが示すメモリアドレスから命令コードをフェッチ(ステップS101)すると共に、選択されたスレッド番号をスレッド識別情報として保持する。
次に、プロセッサコア3の命令デコーダ31は、オペコードをデコードし、EVTWAIT命令であることを示すEVTWAIT信号と、カウンタタイマTMRの動作を有効にすることを示すTMR動作信号とをスレッド選択制御部4に出力する(ステップS102)。
また、プロセッサコア3は、スレッド識別情報と、オペランドの待受イベント情報とをスレッド選択制御部4に出力する(ステップS103)。
次に、スレッド選択制御部4は、スレッド識別情報に基づいて命令コードを実行するスレッド2を選択し、選択したスレッド2のEVTWAIT命令検出部27に待受イベント情報を伝達すると共に(ステップS104)、状態制御部30にEVTWAIT信号及びTMR動作信号を伝達する(ステップS105)。
次に、状態制御部30は、EVTWAIT信号によりEVTWAIT命令検出部27に検出開始信号を出力し、スレッド2をRUN状態からWAIT状態に遷移させる(ステップS106)。
また、状態制御部30は、TMR動作信号によりカウント開始信号をカウンタタイマTMRに出力し、WAIT状態の間、カウントダウン信号を出力する(ステップS107)。
カウント開始信号により、カウンタタイマTMRには、図5に示すように、TMRSETレジスタ22にセットされた初期値Xがカウンタ値としてロードされる。そして、カウンタタイマTMRのカウント値は、WAIT状態の間に入力されるカウントダウン信号によりPRESCALERに設定されたカウントダウンタイミングでカウントダウンされる。
EVTWAIT命令検出部27は、状態制御部30からの検出開始信号により、待受イベントに対応するEVTSTSレジスタ24のステータスビットが1になること、すなわち待受イベントの発生を待ち受ける(ステップS108)。
ステップS108で待受イベントに対応するEVTSTSレジスタ24のステータスビットが1になると、EVTWAIT命令検出部27は、検出信号を状態制御部30に出力する(ステップS109)。
状態制御部30は、EVTWAIT命令検出部27からの検出信号により、スレッド2をWAIT状態からRUN状態に遷移させて、EVTWAIT命令に対応する処理を実行させると共に(ステップS110)、カウント終了信号をTMRCAPレジスタ23に出力し(ステップS111)、さらにステータスクリア信号をEVTSTSレジスタ24に出力して(ステップS112)、イベント待受動作を終了させる。
カウント終了信号により、図5に示すように、TMRCAPレジスタ23には、カウント終了信号の入力時のカウンタタイマTMRのカウンタ値Yが取り込まれる。これにより、上位システムは、TMRSETレジスタ22及びTMRCAPレジスタ23のカウント値を参照するとこで、WAIT期間を把握することができる。すなわち、TMRSETレジスタ22の初期値XとTMRCAPレジスタ23に取り込まれたカウンタ値Y+1との差分にカウントダウン周期をかけた値を、EVTWAIT命令の実行から待受イベントの検出までのWAIT期間として計測することができる。なお、TMRCAPレジスタ23のリセットタイミングは、上位システムにより適宜設定すると良い。
電源システムにおいて、図6に示すように、電源の負荷が軽いときのPWM出力を間欠動作させて低消費電力化を図ることがなされている。時刻tで出力電流の低下が検出されると、軽負荷と認識して電源制御を停止させる。すると、出力電圧は、出力キャパシタの電荷容量に従って電圧降下する。そして、時刻tで出力電圧が閾値電圧Vthを下回ると、電源制御を再開して出力電圧を回復させる。この間欠動作により、電源制御停止期間は、電源制御によるスイッチング動作が発生しないため、効率向上が期待できる。
このような間欠動作は、EVTWAIT命令によるWAIT状態と出力電圧の低下の検出機構からのイベント入力による再開動作(RUN状態)によって実現することができる。この場合、プロセッサ1には、出力電流の低下が検出された時刻tで、出力電圧の閾値電圧Vthまでの低下を待受イベントとするEVTWAIT命令が入力され、WAIT状態に遷移する。
出力電圧の閾値電圧Vthまでの低下が検出された時刻tで待受イベントが検出される。これにより、時刻tから時刻tまでの電源制御停止期間がWAIT期間として計測され、電源制御停止期間、降下電圧および外部負荷容量から停止期間中の消費電流を概算できる。従って、待機中の負荷を推定し、間欠動作から通常動作に切り替える判定に用いることが可能になり、軽負荷時の効率向上を高める制御を行うことができる。
図7を参照すると、プロセッサコア3は、スレッド選択制御部4により選択されたスレッドのプログラムカウンタPCが示すメモリアドレスから命令コードをフェッチ(ステップS201)すると共に、選択されたスレッド番号をスレッド識別情報として保持する。
次に、プロセッサコア3の命令デコーダ31は、オペコードをデコードし、MEVTWAIT命令であることを示すMEVTWAIT信号と、カウンタタイマTMRの動作を有効にすることを示すTMR動作信号とをスレッド選択制御部4に出力する(ステップS202)。
また、プロセッサコア3は、スレッド識別情報と、オペランドの復帰ステータス格納先選択情報とをスレッド選択制御部4に出力する(ステップS203)。
次に、スレッド選択制御部4は、スレッド識別情報に基づいて命令コードを実行するスレッド2を選択し、状態制御部30にMEVTWAIT信号及びTMR動作信号を伝達する(ステップS204)。なお、EVTSELレジスタ25には、上位システムによってMEVTWAIT命令で待受する複数のMEVTWAITイベントと共に、タイマイベントが設定される(ステップS205)。
次に、状態制御部30は、MEVTWAIT信号によりMEVTWAIT命令検出部29に検出開始信号を出力し、スレッド2をRUN状態からWAIT状態に遷移させる(ステップS206)。
また、状態制御部30は、TMR動作信号によりカウント開始信号をカウンタタイマTMRに出力し、WAIT状態の間、カウントダウン信号を出力する(ステップS207)。
カウント開始信号により、カウンタタイマTMRには、図8に示すように、TMRSETレジスタ22にセットされた初期値Xがカウンタ値としてロードされる。そして、カウンタタイマTMRのカウント値は、WAIT状態の間に入力されるカウントダウン信号によりPRESCALERに設定されたカウントダウンタイミングでカウントダウンされる。
MEVTWAIT命令検出部29は、状態制御部30からの検出開始信号により、MEVTWAITイベント制御部28によるMEVTWAITイベントの検出、すなわち待ち受ける複数のMEVTWAITイベントのいずれかの発生を待ち受けると共に(ステップS208)、MEVTWAITイベント制御部28によるタイマイベントの検出を待ち受ける(ステップS209)。
ステップS208でMEVTWAITイベント制御部28によってMEVTWAITイベントが検出されると、MEVTWAIT命令検出部29は、検出信号を状態制御30に出力すると共に(ステップS210)、検出されたMEVTWAITイベントを特定するための情報として復帰イベント識別情報を汎用レジスタ群R0~R15に出力する(ステップS211)。
状態制御部30は、MEVTWAIT命令検出部29からの検出信号により、復帰ステータス格納先を指定した復帰ステータス書込み信号を汎用レジスタ群R0~R15に出力する(ステップS212)。これにより、MEVTWAIT命令検出部29からの復帰イベント識別情報は、復帰ステータス書込み信号によって指定されたレジスタR0~R15のいずれかに書き込まれる。
そして、状態制御部30は、MEVTWAIT命令検出部27からの検出信号により、スレッド2をWAIT状態からRUN状態に遷移させて、MEVTWAIT命令に対応する処理を実行させる(ステップS213)。処理の実行に際し、指定されたレジスタR0~R15のいずれかに書き込まれた復帰イベント識別情報を参照することで、発生したイベントにより処理を切り替えることができる。
次に、状態制御部30は、カウント終了信号をTMRCAPレジスタ23に出力し(ステップS214)、さらにステータスクリア信号をEVTSTSレジスタ24に出力して(ステップS215)、イベント待受動作を終了させる。
カウント終了信号により、図8(a)に示すように、TMRCAPレジスタ23には、カウント終了信号の入力時のカウンタタイマTMRのカウンタ値Yが取り込まれる。これにより、上位システムは、TMRSETレジスタ22及びTMRCAPレジスタ23のカウント値を参照するとこで、WAIT期間を把握することができる。すなわち、TMRSETレジスタ22の初期値XとTMRCAPレジスタ23に取り込まれたカウンタ値Y+1との差分にカウントダウン周期をかけた値を、EVTWAIT命令の実行から待受イベントの検出までのWAIT期間として計測することができる。なお、TMRCAPレジスタ23のリセットタイミングは、上位システムにより適宜設定すると良い。
図8(b)に示すように、カウンタタイマTMRのカウンタ値が0になってタイマイベントが出力され、ステップS209でMEVTWAITイベント制御部28によってタイマイベントが検出されると、MEVTWAIT命令検出部29は、検出信号を状態制御30に出力すると共に(ステップS216)、検出されたタイマイベントを特定する復帰イベント識別情報を汎用レジスタ群R0~R15に出力する(ステップS217)。
状態制御部30は、MEVTWAIT命令検出部27からの検出信号により、復帰ステータス格納先を指定した復帰ステータス書込み信号を汎用レジスタ群R0~R15に出力する(ステップS218)。これにより、MEVTWAIT命令検出部29からの復帰イベント識別情報は、復帰ステータス書込み信号によって指定されたレジスタR0~R15のいずれかに書き込まれる。
そして、状態制御部30は、MEVTWAIT命令検出部27からの検出信号により、スレッド2をWAIT状態からRUN状態に遷移させて、タイマイベントに対応する処理を実行させる(ステップS219)。処理の実行に際し、指定されたレジスタR0~R15のいずれかに書き込まれた復帰イベント識別情報を参照することで、タイマイベントに対応する処理を実行できる。
次に、状態制御部30は、ステータスクリア信号をEVTSTSレジスタ24に出力して(ステップS220)、イベント待受動作を終了させる。なお、状態制御部30は、カウント終了信号もTMRCAPレジスタ23に出力することになるが、カウンタタイマTMRのカウンタ値が0になっているため、TMRCAPレジスタ23に変化は生じない。
これにより、MEVTWAIT命令によって待っている待受イベントが一定時間待っても発生しない場合を認識して、通常時の処理とは異なるタイマイベントに対応する処理を実行することができる。TMRSETレジスタ22にセットされる初期値Xにカウントダウン周期をかけた時間がMEVTWAITイベントを待つタイムアウト時間となる。
以上説明したように、本実施の形態によれば、待受イベントを指定したEVTWAIT命令(イベント待受命令)によって、命令を実行または実行要求中であるRUN状態(実行状態)から命令の実行を待機しているWAIT状態(待機状態)に遷移させ、待受イベントの発生によって、WAIT状態からRUN状態に遷移させるプロセッサ1であって、初期値からカウントを開始するタイマカウンタTMRと、イベントの発生を知らせるイベント入力を検出するイベント入力制御部26と、イベント入力によって待受イベントを検出するEVTWAIT命令検出部27(待受イベント検出部)と、EVTWAIT命令によって、RUN状態からWAIT状態に遷移させると共に、タイマカウンタTMRにカウント開始を指示するカウント開始信号を出力し、待受イベントの検出によって、WAIT状態からRUN状態に遷移させると共に、タイマカウンタTMRによるカウントの終了を指示するカウント終了信号を出力する状態制御部30と、状態制御部30からのカウント終了信号の出力により、タイマカウンタTMRのカウント値を取り込んで保持するTMRCAPレジスタ23(計測値レジスタ)と、を具備することを特徴とする。
この構成により、上位システムは、TMRSETレジスタ22(初期値)及びTMRCAPレジスタ23のカウント値を参照するとこで、WAIT期間を把握することができ、EVTWAIT命令の実行後にRUN状態に復帰するまでの時間(WAIT期間)を、外部タイマリソースを消費することなく、リアルタイムに計測することができる。
さらに、本実施の形態は、状態制御部30は、複数の待受イベントを指定したMEVTWAIT命令(複数イベント待受命令)によって、RUN状態からWAIT状態に遷移させると共に、タイマカウンタTMRにカウント開始を指示するカウント開始信号を出力し、MEVTWAIT命令検出部29(待受イベント検出部)によるMEVTWAIT命令で指定された複数の待受イベントのいずれかの検出によって、WAIT状態からRUN状態に遷移させると共に、タイマカウンタTMRによるカウントの終了を指示するカウント終了信号を出力する。
この構成により、複数のイベントを待受イベントとして指定することができる。
さらに、本実施の形態は、タイマカウンタTMRは、カウント値が設定値に到達すると、タイマイベントをイベント入力として出力し、MEVTWAIT命令検出部29は、タイマイベントを複数の待受イベントの1つとして検出する。
この構成により、待受イベントが一定時間待っても発生しない場合を認識できる。
さらに、本実施の形態は、MEVTWAIT命令検出部29によって検出された待受イベントを特定する待受イベント識別情報を保持する汎用レジスタR0~R15(識別情報レジスタ)を備えている。
この構成により、汎用レジスタR0~R15に保持された待受イベント識別情報により、発生した待受イベントを認識できるため、発生した待受イベントにより処理を切り替えることができる。
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。
1 プロセッサ
2 スレッド
3 プロセッサコア
4 スレッド選択制御部
5 システムバススレーブI/F
6 システムバスマスタ
7 命令メモリアクセスI/F
8 データメモリアクセスI/F
9 メモリ
21 イベント制御部
22 TMRSETレジスタ
23 TMRCAPレジスタ
24 EVTSTSレジスタ
25 EVTSELレジスタ
26 イベント入力制御部
27 EVTWAIT命令検出部
28 MEVTWAITイベント制御部
29 MEVTWAIT命令検出部
30 状態制御部
31 命令デコーダ

Claims (5)

  1. 待受イベントを指定したイベント待受命令によって、命令を実行または実行要求中である実行状態から命令の実行を待機している待機状態に遷移させ、前記待受イベントの発生によって、前記待機状態から前記実行状態に遷移させるスレッドを複数備えたプロセッサであって、
    複数の前記スレッドは、
    初期値からカウントを開始するタイマカウンタと、
    イベントの発生を知らせるイベント入力を検出するイベント入力制御部と、
    前記イベント入力によって前記待受イベントを検出する待受イベント検出部と、
    前記イベント待受命令によって、前記実行状態から前記待機状態に遷移させると共に、前記タイマカウンタにカウント開始を指示するカウント開始信号を出力し、前記待受イベントの検出によって、前記待機状態から前記実行状態に遷移させると共に、前記タイマカウンタによるカウントの終了を指示するカウント終了信号を出力する状態制御部と、
    前記状態制御部からの前記カウント終了信号の出力により、前記タイマカウンタのカウント値を取り込んで保持する計測値レジスタと、をそれぞれ具備することを特徴とするプロセッサ。
  2. 前記状態制御部は、複数の前記待受イベントを指定した複数イベント待受命令によって、前記実行状態から前記待機状態に遷移させると共に、前記タイマカウンタにカウント開始を指示するカウント開始信号を出力し、前記複数イベント待受命令で指定された複数の前記待受イベントのいずれかの検出によって、前記待機状態から前記実行状態に遷移させると共に、前記タイマカウンタによるカウントの終了を指示するカウント終了信号を出力することを特徴とする請求項1記載のプロセッサ。
  3. 前記タイマカウンタは、カウント値が設定値に到達すると、タイマイベントを前記イベント入力として出力し、
    前記待受イベント検出部は、前記タイマイベントを複数の前記待受イベントの1つとして検出することを特徴とする請求項2記載のプロセッサ。
  4. 前記待受イベント検出部によって検出された前記待受イベントを特定する待受イベント識別情報を保持する識別情報レジスタを具備することを特徴とする請求項2又は3記載のプロセッサ。
  5. 待受イベントを指定したイベント待受命令によって、命令を実行または実行要求中である実行状態から命令の実行を待機している待機状態に遷移させ、前記待受イベントの発生によって、前記待機状態から前記実行状態に遷移させるスレッドを複数備えたプロセッサのイベント処理方法であって、
    複数の前記スレッドは、タイマカウンタと、イベント入力制御部と、待受イベント検出部と、状態制御部と、計測値レジスタと、をそれぞれ備え、
    前記イベント入力制御部は、イベントの発生を知らせるイベント入力を検出し、
    前記待受イベント検出部は、前記イベント入力によって前記待受イベントを検出し、
    前記状態制御部は、前記イベント待受命令によって、前記実行状態から前記待機状態に遷移させると共に、カウント開始信号を出力し、前記待受イベントの検出によって、前記待機状態から前記実行状態に遷移させると共に、カウント終了信号を出力し、
    前記タイマカウンタは、前記状態制御部からの前記カウント開始信号の出力により、初期値からカウントを開始すると共に、前記状態制御部からの前記カウント終了信号の出力により、カウントを終了し、
    前記計測値レジスタは、前記状態制御部からの前記カウント終了信号の出力により、前記タイマカウンタのカウント値を取り込んで保持することを特徴とするイベント処理方法。
JP2021545041A 2019-09-12 2019-09-12 プロセッサ及びイベント処理方法 Active JP7294430B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/035804 WO2021048964A1 (ja) 2019-09-12 2019-09-12 プロセッサ及びイベント処理方法

Publications (2)

Publication Number Publication Date
JPWO2021048964A1 JPWO2021048964A1 (ja) 2021-03-18
JP7294430B2 true JP7294430B2 (ja) 2023-06-20

Family

ID=74866300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021545041A Active JP7294430B2 (ja) 2019-09-12 2019-09-12 プロセッサ及びイベント処理方法

Country Status (4)

Country Link
US (1) US11868825B2 (ja)
JP (1) JP7294430B2 (ja)
CN (1) CN114258516B (ja)
WO (1) WO2021048964A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315122A (ja) 1999-05-06 2000-11-14 Nec Eng Ltd タイマ回路及びタイムアウト通知方法
JP2014052962A (ja) 2012-09-10 2014-03-20 Fujitsu Ltd プロセッサおよびプロセッサの評価方法
JP2017111745A (ja) 2015-12-18 2017-06-22 ルネサスエレクトロニクス株式会社 半導体装置、半導体システム、及び、半導体装置の制御方法
JP2018206180A (ja) 2017-06-07 2018-12-27 富士通株式会社 マルチコアプロセッサにおけるサイクル値測定プログラム、サイクル値測定方法、マルチコアプロセッサを有する情報処理装置及びマルチコアプロセッサを有する情報処理システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02311916A (ja) * 1989-05-29 1990-12-27 Canon Inc 待ち時間管理装置
JPH052496A (ja) * 1991-06-24 1993-01-08 Hitachi Cable Ltd マルチタスクモニタ
JPH0566974A (ja) * 1991-09-06 1993-03-19 Nec Corp Cpu負荷率計測回路
JPH1165897A (ja) * 1997-08-19 1999-03-09 Nec Corp デバッガ内蔵マイクロプロセッサ
JPH11143723A (ja) * 1997-11-13 1999-05-28 Nec Mobile Commun Ltd タイマ管理装置及び方法
JPH11338586A (ja) * 1998-05-29 1999-12-10 Hitachi Ltd 計算機システムの電源切断方式
KR100594187B1 (ko) * 1998-12-26 2006-10-25 삼성전자주식회사 쓰레드 호 처리 구조를 채용한 유닉스 시스템 환경하의 지능망교환시스템에서 타이머 구동 방법
JP3694005B2 (ja) * 2003-05-21 2005-09-14 沖電気工業株式会社 デジタル信号処理装置及びデジタル信号処理方法
JP2019101543A (ja) 2017-11-29 2019-06-24 サンケン電気株式会社 プロセッサ及びパイプライン処理方法
CN110489213B (zh) * 2018-05-15 2022-04-05 华为技术有限公司 一种任务处理方法及处理装置、计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315122A (ja) 1999-05-06 2000-11-14 Nec Eng Ltd タイマ回路及びタイムアウト通知方法
JP2014052962A (ja) 2012-09-10 2014-03-20 Fujitsu Ltd プロセッサおよびプロセッサの評価方法
JP2017111745A (ja) 2015-12-18 2017-06-22 ルネサスエレクトロニクス株式会社 半導体装置、半導体システム、及び、半導体装置の制御方法
JP2018206180A (ja) 2017-06-07 2018-12-27 富士通株式会社 マルチコアプロセッサにおけるサイクル値測定プログラム、サイクル値測定方法、マルチコアプロセッサを有する情報処理装置及びマルチコアプロセッサを有する情報処理システム

Also Published As

Publication number Publication date
US20220179719A1 (en) 2022-06-09
CN114258516B (zh) 2024-05-14
CN114258516A (zh) 2022-03-29
JPWO2021048964A1 (ja) 2021-03-18
US11868825B2 (en) 2024-01-09
WO2021048964A1 (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
US8291431B2 (en) Dependent instruction thread scheduling
TWI512448B (zh) 用以啟用處理器等待狀態之指令
US8055822B2 (en) Multicore processor having storage for core-specific operational data
US8799929B2 (en) Method and apparatus for bandwidth allocation mode switching based on relative priorities of the bandwidth allocation modes
TWI518587B (zh) 於不對稱多處理器系統中的核心切換加速之技術
US9858116B2 (en) Functional unit for supporting multithreading, processor comprising the same, and operating method thereof
US20070043960A1 (en) Systems and methods for mutually exclusive activation of microprocessor resources to control maximum power
WO2008145653A1 (en) Scheduling threads in a processor
WO2011063574A1 (zh) 一种流数据处理方法及流处理器
US11210103B2 (en) Execution of additional instructions prior to a first instruction in an interruptible or non-interruptible manner as specified in an instruction field
US20140089646A1 (en) Processor with interruptable instruction execution
JP7294430B2 (ja) プロセッサ及びイベント処理方法
US8447960B2 (en) Pausing and activating thread state upon pin assertion by external logic monitoring polling loop exit time condition
US7996703B2 (en) Method and apparatus to avoid power transients during a microprocessor test
US10558463B2 (en) Communication between threads of multi-thread processor
JP5621896B2 (ja) マルチプロセッサシステム、制御プログラム、および制御方法
US10338655B2 (en) Advanced fall through mechanism for low power sequencers
JP2008225710A (ja) コンピュータシステム及び該システムで用いられるプロセス切替え方法
US20080222399A1 (en) Method for the handling of mode-setting instructions in a multithreaded computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230113

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20230113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7294430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150