JP2019179413A - Cache memory - Google Patents
Cache memory Download PDFInfo
- Publication number
- JP2019179413A JP2019179413A JP2018068430A JP2018068430A JP2019179413A JP 2019179413 A JP2019179413 A JP 2019179413A JP 2018068430 A JP2018068430 A JP 2018068430A JP 2018068430 A JP2018068430 A JP 2018068430A JP 2019179413 A JP2019179413 A JP 2019179413A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- memory
- accelerator
- cache
- priority
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
Abstract
Description
本開示は、キャッシュメモリに関する。 The present disclosure relates to a cache memory.
メインCPUとアクセラレータを設けたデータ処理装置が知られている(例えば、下記特許文献1参照)。下記特許文献1では、CPUからのアクセス要求に応答してメモリ動作を行う第1プリフェッチバッファに、当該第1プリフェッチバッファが必要なデータを保有していないとき第1プリフェッチバッファからの要求に従ってメモリ動作を行い且つ第1プリフェッチバッファよりも記憶容量の大きな第2プリフェッチバッファを配置し、第1プリフェッチバッファには連想アクセスで第2プリフェッチバッファから読込むデータ量を可変可能に制御する第1プリフェッチ制御部を、第2プリフェッチバッファには第1プリフェッチバッファからの要求に従ってメインメモリから読込むデータ量及び読込んだデータを保持する範囲を可変可能に制御する第2プリフェッチ制御部を設けている。 A data processing apparatus provided with a main CPU and an accelerator is known (for example, see Patent Document 1 below). In Patent Document 1 below, when a first prefetch buffer that performs a memory operation in response to an access request from a CPU does not have necessary data, the memory operation is performed according to a request from the first prefetch buffer. And a second prefetch buffer having a storage capacity larger than that of the first prefetch buffer, and a first prefetch control unit that controls the amount of data read from the second prefetch buffer by associative access to be variable in the first prefetch buffer The second prefetch buffer is provided with a second prefetch control unit that variably controls the amount of data read from the main memory and the range in which the read data is held in accordance with a request from the first prefetch buffer.
特許文献1では、中央処理装置がアクセスするデータの単位が小さい場合にも、中央処理装置によるデータアクセスの高速化若しくは先読み予測が外れることによるペナルティーの削減が可能であるとされている。しかしながら、アクセラレータが処理を実行するにあたって、メインCPUが処理する低優先度の処理にメモリが使われてしまい、アクセラレータの能力が十分に発揮されない場合があった。 In Patent Document 1, even when the unit of data accessed by the central processing unit is small, it is possible to increase the speed of data access by the central processing unit or to reduce the penalty due to the loss of prefetch prediction. However, when the accelerator executes processing, memory is used for low-priority processing processed by the main CPU, and the accelerator capability may not be fully exhibited.
本開示は、汎用CPU及びアクセラレータが設けられているデータ処理装置に用いられるキャッシュメモリであって、アクセラレータが使用するメモリ帯域を確実に確保することが可能なキャッシュメモリを提供することを目的とする。 An object of the present disclosure is to provide a cache memory that is used in a data processing apparatus provided with a general-purpose CPU and an accelerator, and that can reliably secure a memory bandwidth used by the accelerator. .
本開示は、キャッシュメモリであって、汎用CPU及びアクセラレータといった複数の要求元からのメモリ読出し、書込み要求に対して、その優先度を判断する判断部(305)と、判断部の判断結果に基づいて、キャッシュメモリ書込みを制限する制限部(306)と、を備える。 The present disclosure is a cache memory, and is based on a determination unit (305) that determines priority of a memory read / write request from a plurality of request sources such as a general-purpose CPU and an accelerator, and a determination result of the determination unit. And a limiting unit (306) for limiting cache memory writing.
複数のメモリ読出し、書込み要求に対して優先度に基づいたキャッシュメモリへの書込み制限をかけるので、アクセラレータからのキャッシュメモリへの書込みを優先させることで、アクセラレータが使用するキャッシュメモリ領域を確保することができ、それによってメモリ帯域を確実に確保することができる。 The cache memory area to be used by the accelerator should be secured by giving priority to the cache memory from the accelerator, because it restricts the write to the cache memory based on the priority for multiple memory read / write requests. As a result, the memory bandwidth can be surely secured.
尚、「課題を解決するための手段」及び「特許請求の範囲」に記載した括弧内の符号は、後述する「発明を実施するための形態」との対応関係を示すものであって、「課題を解決するための手段」及び「特許請求の範囲」が、後述する「発明を実施するための形態」に限定されることを示すものではない。 Reference numerals in parentheses described in “Means for Solving the Problems” and “Claims” indicate a correspondence relationship with “Mode for Carrying Out the Invention” described later, It does not indicate that “means for solving the problems” and “claims” are limited to “mode for carrying out the invention” described later.
本開示によれば、汎用CPU及びアクセラレータが設けられているデータ処理装置に用いられるキャッシュメモリであって、アクセラレータが使用するメモリ帯域を確実に確保することが可能なキャッシュメモリを提供することができる。 According to the present disclosure, it is possible to provide a cache memory that can be used in a data processing apparatus provided with a general-purpose CPU and an accelerator, and that can reliably secure a memory bandwidth used by the accelerator. .
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。 Hereinafter, the present embodiment will be described with reference to the accompanying drawings. In order to facilitate the understanding of the description, the same components are denoted by the same reference numerals as much as possible in the drawings, and redundant descriptions are omitted.
図1に示されるように、本開示におけるキャッシュメモリの一実施形態である共用キャッシュメモリ30は、システムバス50とメインメモリ40との間に設けられている。システムバス50には、汎用CPU(Central Processing Unit)10と、アクセラレータ20とが繋がれている。
As shown in FIG. 1, a shared
アクセラレータ20は、汎用CPU10の処理の一部を実行し、全体として高速に情報処理するためのプロセッサである。
The
汎用CPU10又はアクセラレータ20からは、共用キャッシュメモリ30にデータの出力要求が送信される。共用キャッシュメモリ30は、自己が格納しているデータが要求されていればそれを出力する。共用キャッシュメモリ30は、メインメモリ40が格納しているデータが要求されていれば、それを読み出してから汎用CPU10及びアクセラレータ20に出力する。
A data output request is transmitted from the general-
図2を参照しながら、比較例としてのキャッシュメモリ30Aについて説明する。図2に示されるように、キャッシュメモリ30Aは、4ウェイのメモリとして構成されている。キャッシュメモリ30Aは、CPUからアドレス入力を受けて、CPUへデータ出力する。
A
キャッシュメモリ30Aは、アドレスデコーダ301Aと、ワードセレクタ302Aと、ウェイセレクタ303Aと、比較器304Aと、を備えている。
The
例えば、キャッシュメモリ30Aが1MBのデータ容量であり、64バイトのキャッシュラインの4ウェイキャッシュの場合、ワードアドレスは6ビット、 エントリアドレスは12ビット、 フレームアドレスは32ビットアドレス空間の場合、14ビットが割り当てられる。
For example, if the
CPUからのアドレス入力のうち、エントリアドレスがアドレスデコーダに使われて、4つのウェイそれぞれからエントリアドレスに一致したデータとそれに紐づいたタグ(フレームアドレス)、フラグが出力される。フラグは、一般的には有効なデータを含んでいるか(Valid)、保存されているデータが書き換えられているか(Dirty)の情報を保持している。 Of the address inputs from the CPU, the entry address is used by the address decoder, and the data matching the entry address and the tag (frame address) and flag associated therewith are output from each of the four ways. The flag generally holds information indicating whether valid data is included (Valid) or stored data is rewritten (Dirty).
出力された4つのデータのうち、入力されたフレームアドレスと同一のタグが存在(かつValid)すればキャッシュヒットとなり、そのタグに紐づいたデータがCPUへ出力される。フレームアドレスと同一のタグが存在しない(もしくはValidでない)場合はキャッシュミスとなり、より下位レベルのメモリであるメインメモリにアクセスすることになる。アクセスサイズはキャッシュラインサイズよりも小さい場合はワードアドレスを用いて、キャッシュライン中の必要なデータを取り出す。 If the same tag as the input frame address exists (and valid) among the four output data, a cache hit occurs, and the data associated with the tag is output to the CPU. If the same tag as the frame address does not exist (or is not valid), a cache miss occurs, and the main memory, which is a lower level memory, is accessed. If the access size is smaller than the cache line size, the word address is used to retrieve necessary data in the cache line.
続いて、図3を参照しながら、CPUに加えてアクセラレータが設けられた場合の、比較例としてのキャッシュメモリ30Bについて説明する。図3に示されるように、キャッシュメモリ30Bは、4ウェイのメモリとして構成されている。キャッシュメモリ30Bは、CPU又はアクセラレータからアドレス入力を受けて、CPU又はアクセラレータへデータ出力する。
Next, a
キャッシュメモリ30Bは、アドレスデコーダ301Bと、ワードセレクタ302Bと、ウェイセレクタ303Bと、比較器304Bと、キャッシュアクセス制御部305Bと、を備えている。
The
この例ではアクセラレータもしくはCPUからのアドレス入力に対して、キャッシュ前段のキャッシュアクセス制御部305Bによって、例えば、アドレスの上位ビットによってキャッシュを使用したアクセスとするか、キャッシュをバイパスする非キャッシュアクセスにするかを制御することができる。例えば、アドレス上位4ビットが0x0の場合は、キャッシュを使用したアクセス、アドレス上位4ビットが0xfの場合は、非キャッシュアクセスというような制御ができる。
In this example, for the address input from the accelerator or the CPU, the cache
続いて、図4を参照しながら、本実施形態の共用キャッシュメモリ30について説明する。図4に示されるように、共用キャッシュメモリ30は、4ウェイのメモリとして構成されている。共用キャッシュメモリ30は、CPU又はアクセラレータからアドレス入力を受けて、CPU又はアクセラレータへデータ出力する。
Next, the shared
共用キャッシュメモリ30は、アドレスデコーダ301と、ワードセレクタ302と、ウェイセレクタ303と、比較器304と、プロセスID入力部305と、マスク制御部306と、を備えている。
The shared
プロセスID入力部305は、一般的なキャッシュの例でのアドレス入力に加えて、汎用CPU10およびアクセラレータ20が処理するプロセス(Kernel)それぞれに紐づいたプロセスIDを入力する。
The process
マスク制御部306は、プロセスID毎に、ラインを入れ替えることで、プロセス毎のキャッシュ使用量を制限する部分である。
The
例えば、プロセスIDが「0」の場合は、汎用CPU10が割り当てられており、ウェイ#0のみを使用できるものとする。プロセスIDが「1」の場合は、アクセラレータ20が割り当てられており、ウェイ#1,2,3を使用できるものとする。マスク制御部306は、この定められた範囲でウェイの切り換えを実行する。プロセスIDが「2」の場合は、割り当て無しとする。このような割り当てとすることで、プロセスID「0」には1/4MB、プロセスID「1」には3/4MB、プロセスID「2」には0MBのキャッシュサイズを割り当てることができる。
For example, when the process ID is “0”, the general-
この制御により、各プロセス毎のキャッシュ使用量を制限することができるため、複数プロセスが同時に動作した場合には優先実行必要なプロセスに多くのキャッシュ容量を割り当てることが可能となり、他の低優先プロセスに阻害される割合を低減することができる。 This control can limit the amount of cache used for each process, so if multiple processes operate simultaneously, it is possible to allocate a large amount of cache capacity to processes that require priority execution, and other low priority processes. The rate of inhibition can be reduced.
本実施形態の共用キャッシュメモリ30は、本開示のキャッシュメモリに相当する。本実施形態のプロセスID入力部305は、本開示の判断部に相当する。本実施形態のマスク制御部306は、本開示の制限部に相当する。
The shared
本実施形態の共用キャッシュメモリ30は、複数の要求元からのメモリ読出し、書込み要求に対して、その優先度を判断する判断部としてのプロセスID入力部305と、判断部としてのプロセスID入力部305の判断結果に基づいて、キャッシュメモリ書込みを制限する制限部としてのマスク制御部306と、を備える。
The shared
複数の要求元からのメモリ読出し、書込み要求に対して優先度に基づいたキャッシュメモリ書込み制限をかけるので、アクセラレータからのキャッシュメモリ書込みを優先させることで、アクセラレータが使用するメモリ帯域を確実に確保することができる。 Cache memory write restrictions based on priority are applied to memory read and write requests from multiple request sources, so that the memory bandwidth used by the accelerator is ensured by giving priority to the cache memory write from the accelerator. be able to.
本実施形態においては、判断部としてのプロセスID入力部305は、アクセラレータ20からのメモリ読出し、書込み要求の優先度を汎用CPU10からのメモリ読出し、書込み要求の優先度よりも高め、制限部としてのマスク制御部306は、汎用CPU10に対するキャッシュメモリ書込みを制限する。
In the present embodiment, the process
本実施形態においては、判断部としてのプロセスID入力部305は、アクセラレータ20からの複数のメモリ読出し、書込み要求に対して優先度を判断し、制限部としてのマスク制御部306は、優先度の低いメモリ読出し、書込み要求に対するキャッシュメモリ書込みを制限する。
In the present embodiment, the process
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。例えば、異なるプロセスIDは同一のアクセラレータ又は汎用CPU上で動作する異なるプロセス(Kernel)に割り振られても良い。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。 The present embodiment has been described above with reference to specific examples. However, the present disclosure is not limited to these specific examples. For example, different process IDs may be assigned to different processes (Kernels) operating on the same accelerator or general-purpose CPU. Those in which those skilled in the art appropriately modify the design of these specific examples are also included in the scope of the present disclosure as long as they have the features of the present disclosure. Each element included in each of the specific examples described above and their arrangement, conditions, shape, and the like are not limited to those illustrated, and can be changed as appropriate. Each element included in each of the specific examples described above can be appropriately combined as long as no technical contradiction occurs.
305:プロセスID入力部(判断部)
306:マスク制御部(制限部)
305: Process ID input unit (determination unit)
306: Mask control unit (limitation unit)
Claims (3)
複数の要求元からのメモリ読出し、書込み要求に対して、その優先度を判断する判断部(305)と、
前記判断部の判断結果に基づいて、キャッシュメモリ書込みを制限する制限部(306)と、を備える、キャッシュメモリ。 Cache memory,
A determination unit (305) for determining the priority of memory read / write requests from a plurality of request sources;
A cache memory comprising: a limiting unit (306) that limits cache memory writing based on a determination result of the determination unit.
前記判断部は、アクセラレータからのメモリ読出し、書込み要求の優先度を汎用CPUからのメモリ読出し、書込み要求の優先度よりも高め、
前記制限部は、汎用CPUに対するキャッシュメモリ書込みを制限する、キャッシュメモリ。 The cache memory according to claim 1,
The determination unit is configured to increase the priority of the memory read from the accelerator and the write request higher than the priority of the memory read from the general-purpose CPU and the write request,
The limiting unit is a cache memory that limits cache memory writing to a general-purpose CPU.
前記判断部は、アクセラレータからの複数のメモリ読出し、書込み要求に対して優先度を判断し、
前記制限部は、優先度の低いメモリ読出し、書込み要求に対するキャッシュメモリ書込みを制限する、キャッシュメモリ。 The cache memory according to claim 1,
The determination unit determines a priority for a plurality of memory read and write requests from the accelerator,
The restriction unit is a cache memory that restricts cache memory writing to a memory read / write request having a low priority.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018068430A JP2019179413A (en) | 2018-03-30 | 2018-03-30 | Cache memory |
PCT/JP2019/009628 WO2019188176A1 (en) | 2018-03-30 | 2019-03-11 | Cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018068430A JP2019179413A (en) | 2018-03-30 | 2018-03-30 | Cache memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019179413A true JP2019179413A (en) | 2019-10-17 |
Family
ID=68061519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018068430A Pending JP2019179413A (en) | 2018-03-30 | 2018-03-30 | Cache memory |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2019179413A (en) |
WO (1) | WO2019188176A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248967A (en) * | 1994-03-11 | 1995-09-26 | Hitachi Ltd | Memory control system |
JPH09101916A (en) * | 1995-10-06 | 1997-04-15 | Fujitsu Ltd | Multiprocess processor |
JP2004178571A (en) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | Cache controller, cache control method, computer system |
JP2011154528A (en) * | 2010-01-27 | 2011-08-11 | Renesas Electronics Corp | Data processor |
WO2012008073A1 (en) * | 2010-07-16 | 2012-01-19 | パナソニック株式会社 | Shared memory system and method of controlling same |
-
2018
- 2018-03-30 JP JP2018068430A patent/JP2019179413A/en active Pending
-
2019
- 2019-03-11 WO PCT/JP2019/009628 patent/WO2019188176A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248967A (en) * | 1994-03-11 | 1995-09-26 | Hitachi Ltd | Memory control system |
JPH09101916A (en) * | 1995-10-06 | 1997-04-15 | Fujitsu Ltd | Multiprocess processor |
US5787490A (en) * | 1995-10-06 | 1998-07-28 | Fujitsu Limited | Multiprocess execution system that designates cache use priority based on process priority |
JP2004178571A (en) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | Cache controller, cache control method, computer system |
JP2011154528A (en) * | 2010-01-27 | 2011-08-11 | Renesas Electronics Corp | Data processor |
WO2012008073A1 (en) * | 2010-07-16 | 2012-01-19 | パナソニック株式会社 | Shared memory system and method of controlling same |
JP2012022616A (en) * | 2010-07-16 | 2012-02-02 | Panasonic Corp | Shared memory system and control method thereof |
US20120221795A1 (en) * | 2010-07-16 | 2012-08-30 | Panasonic Corporation | Shared memory system and control method therefor |
Also Published As
Publication number | Publication date |
---|---|
WO2019188176A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102456085B1 (en) | Dynamic memory remapping to reduce row buffer collisions | |
US10838864B2 (en) | Prioritizing local and remote memory access in a non-uniform memory access architecture | |
US9405696B2 (en) | Cache and method for cache bypass functionality | |
US5829025A (en) | Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction | |
US7047322B1 (en) | System and method for performing conflict resolution and flow control in a multiprocessor system | |
US9372811B2 (en) | Retention priority based cache replacement policy | |
US8527708B2 (en) | Detecting address conflicts in a cache memory system | |
US7353319B2 (en) | Method and apparatus for segregating shared and non-shared data in cache memory banks | |
WO2010035425A1 (en) | Cache memory, memory system and control method therefor | |
US20150234745A1 (en) | Data cache prefetch controller | |
US20090204769A1 (en) | Method to Bypass Cache Levels in a Cache Coherent System | |
US7398362B1 (en) | Programmable interleaving in multiple-bank memories | |
US7415576B2 (en) | Data processor with block transfer control | |
JP2009505180A (en) | Storage device formed in a computer system having at least two processing units and at least one memory, and storage method thereby | |
US10019358B2 (en) | Bank address remapping to load balance memory traffic among banks of memory | |
US6496917B1 (en) | Method to reduce memory latencies by performing two levels of speculation | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
US8327079B2 (en) | Cache memory control device and pipeline control method | |
JPH01187650A (en) | Buffer storage device | |
US8868833B1 (en) | Processor and cache arrangement with selective caching between first-level and second-level caches | |
WO2019188176A1 (en) | Cache memory | |
US6480940B1 (en) | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module | |
US11003591B2 (en) | Arithmetic processor, information processing device and control method of arithmetic processor | |
EP3330848B1 (en) | Detection of stack overflow in a multithreaded processor | |
US20140136796A1 (en) | Arithmetic processing device and method for controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20190326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20190327 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220111 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220511 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220927 |