JP2020184329A - 命令実行のトレース - Google Patents
命令実行のトレース Download PDFInfo
- Publication number
- JP2020184329A JP2020184329A JP2020072872A JP2020072872A JP2020184329A JP 2020184329 A JP2020184329 A JP 2020184329A JP 2020072872 A JP2020072872 A JP 2020072872A JP 2020072872 A JP2020072872 A JP 2020072872A JP 2020184329 A JP2020184329 A JP 2020184329A
- Authority
- JP
- Japan
- Prior art keywords
- count
- stall
- instruction
- processor
- trace
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000012544 monitoring process Methods 0.000 claims abstract description 37
- 241000611421 Elia Species 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 230000006399 behavior Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000005441 aurora Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
Description
Claims (15)
- プロセッサのクロックサイクル中、前記プロセッサが命令を実行し続ける間に、集積回路チップの前記プロセッサ上の命令実行をリアルタイムでトレースする方法であって、
前記集積回路チップ上のトレース回路において、
命令カウントを形成するために、時間内に連続するリタイアされた一連の命令の数をカウントすること、および
ストールカウントを形成するために、リタイアされた命令がない間の前記プロセッサの後続する連続したクロックサイクルの数をカウントすることによって、
前記プロセッサの前記命令実行をモニタリングすることと、
前記命令カウントおよび前記ストールカウントを含むトレースメッセージを生成することと、
前記トレースメッセージを出力することと、
を含む方法。 - 前記ストールカウントをしきい値ストールカウントと比較することと、
前記ストールカウントが前記しきい値ストールカウントと同じであるか、または前記しきい値ストールカウントを超える場合にのみ、前記トレースメッセージを生成および出力すること、をさらに含む、請求項1に記載の方法。 - 前記ストールカウントが前記しきい値ストールカウントよりも少ない場合に、
ストールカウンタを0カウントにリセットすることと、
連続するリタイアされた一連の命令のさらなる数をカウントすることと、
さらなるストールカウントを形成するために、リタイアされた命令がない間の前記プロセッサの後続する連続したクロックサイクルの数をカウントすることと、
前記さらなるストールカウントを前記しきい値ストールカウントと比較することを含み、
前記さらなるストールカウントが前記しきい値ストールカウントと同じであるか、または前記しきい値ストールカウントを超える場合にのみ、
さらなる命令カウントおよび前記さらなるストールカウントを含むトレースメッセージを生成することであって、前記さらなる命令カウントが、前記命令カウント、前記ストールカウント、および連続するリタイアされた一連の命令の前記さらなる数の和であることと、
前記トレースメッセージを出力することを含む、請求項2に記載の方法。 - インクリメントされた命令カウントを形成するために、前記ストールカウントによって前記命令カウントをインクリメントすることを含み、
連続するリタイアされた一連の命令の前記さらなる数をカウントすることが、前記インクリメントされた命令カウントから開始し、それによって、前記さらなる命令カウントを形成する、請求項3に記載の方法。 - 命令カウンタを0カウントにリセットすることを含み、
連続するリタイアされた一連の命令の前記さらなる数をカウントすることが、0から開始し、
前記方法が、
前記さらなる命令カウントを形成するために、前記命令カウント、前記ストールカウント、および連続するリタイアされた一連の命令の前記さらなる数を加算することをさらに含む、請求項3に記載の方法。 - 前記さらなるストールカウントが前記しきい値ストールカウントよりも少ない場合に、請求項3に記載の方法を反復して実施することを含み、反復ストールカウントが前記しきい値ストールカウントと同じであるか、または前記しきい値ストールカウントを超えるときにのみ、トレースメッセージを生成および出力することを含む、請求項3、4、または5に記載の方法。
- プロセッサのクロックサイクル中、前記プロセッサが多数の命令を同時に実行し続ける間に、集積回路チップの前記プロセッサ上の命令実行をリアルタイムでトレースする方法であって、前記プロセッサが、クロックサイクルごとに2つ以上の命令をリタイアすることが可能であり、前記方法が、
前記集積回路チップ上のトレース回路において、
クロックサイクルカウントを形成するために、各クロックサイクルにおいてリタイアされた命令の数をカウントすること、および
ストールカウントを形成するために、リタイアされた命令がない間の前記プロセッサの連続したクロックサイクルの数をカウントすることによって、
前記プロセッサの前記命令実行をモニタリングすることと、
前記クロックサイクルカウントおよび前記ストールカウントを含むトレースメッセージを生成することと、
前記トレースメッセージを出力すること、を含む方法。 - 非リタイアカウントを形成するために、リタイアされていない命令実行の数をカウントすることをさらに含む、請求項7に記載の方法。
- 前記トレースメッセージが前記非リタイアカウントをさらに含む、請求項8に記載の方法。
- ランレングス符号化を使用して、前記トレースメッセージにおけるカウントを符号化することをさらに含む、請求項9に記載の方法。
- エリアスガンマコードを使用して、前記トレースメッセージにおける前記カウントを符号化するステップを含む請求項10に記載の方法。
- プロセッサのクロックサイクル中、命令を実行するように構成された前記プロセッサと、
前記プロセッサの命令実行をリアルタイムでトレースするように構成されたトレース回路と、を含む集積回路チップであって、前記トレース回路が、
命令カウントを形成するために、時間内に連続するリタイアされた一連の命令の数をカウントするように構成された命令カウンタと、
ストールカウントを形成するために、リタイアされた命令がない間の前記プロセッサの後続する連続したクロックサイクルの数をカウントするように構成されたストールカウンタと、
前記命令カウントおよび前記ストールカウントを含むトレースメッセージを生成するように構成されたメッセージ生成器と、
前記トレースメッセージを出力するように構成された出力と、を含む、集積回路チップ。 - 前記ストールカウントをしきい値ストールカウントと比較するように構成された比較器をさらに含む、請求項12に記載の集積回路チップ。
- プロセッサのクロックサイクルごとに2つ以上の命令をリタイアするように構成された前記プロセッサと、
前記プロセッサの命令実行をリアルタイムでトレースするように構成されたトレース回路と、を含む集積回路チップであって、前記トレース回路が、
クロックサイクルカウントを形成するために、各クロックサイクルにおいてリタイアされた命令の数をカウントするように構成されたクロックサイクルカウンタと、
ストールカウントを形成するために、リタイアされた命令がない間の前記プロセッサの連続したクロックサイクルの数をカウントするように構成されたストールカウンタと、
前記クロックサイクルカウントおよび前記ストールカウントを含むトレースメッセージを生成するように構成されたメッセージ生成器と、
前記トレースメッセージを出力するように構成された出力と、を含む、集積回路チップ。 - 非リタイアカウントを形成するために、リタイアされていない命令実行の数をカウントするように構成されたさらなるカウンタをさらに含む、請求項12から14のいずれかに記載の集積回路チップ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1905366.9A GB2583103B (en) | 2019-04-16 | 2019-04-16 | Tracing instruction execution |
GB1905366.9 | 2019-04-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020184329A true JP2020184329A (ja) | 2020-11-12 |
JP7509565B2 JP7509565B2 (ja) | 2024-07-02 |
Family
ID=66810069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020072872A Active JP7509565B2 (ja) | 2019-04-16 | 2020-04-15 | 命令実行のトレース |
Country Status (5)
Country | Link |
---|---|
US (1) | US11907100B2 (ja) |
EP (1) | EP3726387A1 (ja) |
JP (1) | JP7509565B2 (ja) |
CN (1) | CN111832016A (ja) |
GB (1) | GB2583103B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486752A (zh) * | 2020-12-18 | 2021-03-12 | 时擎智能科技(上海)有限公司 | 一种处理器跟踪系统、方法、存储介质及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085338A (en) * | 1996-12-17 | 2000-07-04 | International Business Machines Corporation | CPI infinite and finite analysis |
US7231551B1 (en) * | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US20080201591A1 (en) * | 2007-02-16 | 2008-08-21 | Chunling Hu | Method and apparatus for dynamic voltage and frequency scaling |
US20080294881A1 (en) * | 2007-05-24 | 2008-11-27 | Ibm Corporation | Method and apparatus for instruction completion stall identification in an information handling system |
US20090019317A1 (en) * | 2007-07-12 | 2009-01-15 | Nhon Quach | Mechanism for identifying the source of performance loss in a microprocessor |
US20100318972A1 (en) * | 2009-06-16 | 2010-12-16 | Freescale Semiconductor, Inc. | Trace Correlation for Profiling Subroutines |
JP2013537346A (ja) * | 2010-09-25 | 2013-09-30 | インテル コーポレイション | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング |
US20160062869A1 (en) * | 2011-02-21 | 2016-03-03 | Texas Instruments Incorporated | Embedding stall and event trace profiling data in the timing stream - extended timing trace circuits, processes, and systems |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150403A (ja) | 2001-11-06 | 2003-05-23 | Arc Internatl (Uk) Ltd | データプロセッサの観測方法及び装置 |
US20070247350A1 (en) * | 2006-03-29 | 2007-10-25 | Ryan Dean E | Method and apparatus of compressing terrain data |
JP5224930B2 (ja) | 2008-06-24 | 2013-07-03 | 東芝機械株式会社 | 転写装置 |
US8468275B2 (en) * | 2010-01-08 | 2013-06-18 | International Business Machines Corporation | Hardware support for software controlled fast reconfiguration of performance counters |
JP5158734B2 (ja) | 2012-08-23 | 2013-03-06 | 株式会社ティーネットジャパン | Led照明器具 |
US9170854B2 (en) * | 2013-06-04 | 2015-10-27 | Advanced Micro Devices, Inc. | Thread assignment for power and performance efficiency using multiple power states |
US20150248295A1 (en) * | 2014-03-03 | 2015-09-03 | Qualcomm Incorporated | Numerical stall analysis of cpu performance |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
-
2019
- 2019-04-16 GB GB1905366.9A patent/GB2583103B/en active Active
-
2020
- 2020-04-13 CN CN202010287987.5A patent/CN111832016A/zh active Pending
- 2020-04-15 JP JP2020072872A patent/JP7509565B2/ja active Active
- 2020-04-16 US US16/850,100 patent/US11907100B2/en active Active
- 2020-04-16 EP EP20169958.4A patent/EP3726387A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085338A (en) * | 1996-12-17 | 2000-07-04 | International Business Machines Corporation | CPI infinite and finite analysis |
US7231551B1 (en) * | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US20080201591A1 (en) * | 2007-02-16 | 2008-08-21 | Chunling Hu | Method and apparatus for dynamic voltage and frequency scaling |
US20080294881A1 (en) * | 2007-05-24 | 2008-11-27 | Ibm Corporation | Method and apparatus for instruction completion stall identification in an information handling system |
US20090019317A1 (en) * | 2007-07-12 | 2009-01-15 | Nhon Quach | Mechanism for identifying the source of performance loss in a microprocessor |
US20100318972A1 (en) * | 2009-06-16 | 2010-12-16 | Freescale Semiconductor, Inc. | Trace Correlation for Profiling Subroutines |
JP2013537346A (ja) * | 2010-09-25 | 2013-09-30 | インテル コーポレイション | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング |
US20160062869A1 (en) * | 2011-02-21 | 2016-03-03 | Texas Instruments Incorporated | Embedding stall and event trace profiling data in the timing stream - extended timing trace circuits, processes, and systems |
Non-Patent Citations (1)
Title |
---|
"PowerPC 604e RISC Microprocessor User's Manual, Chapter 9: Performance Monitor", POWERPC 604W RISC MICROPROCESSOR USER'S MANUAL, JPN6023018886, November 1994 (1994-11-01), US, pages 1 - 9, ISSN: 0005192661 * |
Also Published As
Publication number | Publication date |
---|---|
GB2583103A (en) | 2020-10-21 |
EP3726387A1 (en) | 2020-10-21 |
CN111832016A (zh) | 2020-10-27 |
US20200334128A1 (en) | 2020-10-22 |
GB201905366D0 (en) | 2019-05-29 |
GB2583103B (en) | 2022-11-16 |
US11907100B2 (en) | 2024-02-20 |
JP7509565B2 (ja) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9830241B2 (en) | Debug in a multicore architecture | |
KR101365121B1 (ko) | 멀티코어 아키텍쳐의 디버그 | |
US8527812B2 (en) | Information processing device | |
US7689867B2 (en) | Multiprocessor breakpoint | |
JP6116670B2 (ja) | インタラプトステータスに基づく構成可能なブレークポイントを有するデバイス | |
JP6220863B2 (ja) | リセット条件トレース能力を伴うプロセッサデバイス | |
JP6397815B2 (ja) | 命令トレース能力を有するプロセッサデバイス | |
US8296607B2 (en) | Serialization module separating pipelined trace-worthy event and sync packet data | |
JP2020184329A (ja) | 命令実行のトレース | |
JP5336228B2 (ja) | 複数のクロックドメインにおいて決定性を促進するテクニック | |
Cosimi et al. | SLOPE: Safety LOg PEripherals implementation and software drivers for a safe RISC-V microcontroller unit | |
Lai et al. | An online control flow check for VLIW processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20201109 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20201111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210202 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20210203 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240206 |
|
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: 20240521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240620 |