JP2010015364A - Multiprocessor system and information processor - Google Patents

Multiprocessor system and information processor Download PDF

Info

Publication number
JP2010015364A
JP2010015364A JP2008174500A JP2008174500A JP2010015364A JP 2010015364 A JP2010015364 A JP 2010015364A JP 2008174500 A JP2008174500 A JP 2008174500A JP 2008174500 A JP2008174500 A JP 2008174500A JP 2010015364 A JP2010015364 A JP 2010015364A
Authority
JP
Japan
Prior art keywords
exception
processor
information
cpu
notification
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
Application number
JP2008174500A
Other languages
Japanese (ja)
Inventor
Naohito Sugai
尚人 菅井
Hirokazu Takada
浩和 高田
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2008174500A priority Critical patent/JP2010015364A/en
Publication of JP2010015364A publication Critical patent/JP2010015364A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor system and an information processor for making it unnecessary to add any exclusive hardware device, or to change to the software of a processor in which a target program operates, and for making it possible to recognize and analyze the operation of the target program. <P>SOLUTION: This multiprocessor system includes: CPUs 1 and 2 as a plurality of processors connected to a common bus 13 as a common system bus; an exception notification part 20 as an exception notification means for notifying a CPU 2 as a second processor of occurrence of an exception in the CPU 1 as a first processor between the plurality of processors; and an exception information storage part 30 as an exception information holding means for holding information related to the state of the first processor when the exception occurs in the first processor. The second processor acquires information stored in the exception information storage means according to the notification by the exception notification means. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、マルチプロセッサシステム及び情報処理装置、特に、共通のシステムバスに接続された複数のプロセッサを備えるマルチプロセッサシステムに関する。   The present invention relates to a multiprocessor system and an information processing apparatus, and more particularly to a multiprocessor system including a plurality of processors connected to a common system bus.

例外処理は、プログラムの実行中にそのプログラムの命令列の実行を中断し、異なる命令列の実行を行う処理であって、プロセッサシステムの内部で行われる。例外処理の契機としては、命令実行により異常が発生した場合の他、例えば、オペレーティングシステムの機能を呼び出すシステムコールのためのトラップ命令実行による場合、メモリ管理機構を操作するためのページフォルトの場合がある。プロセッサにおいて例外が発生した場合、プロセッサで実行中のプログラムは中断され、例外が発生した際におけるプロセッサの状態に関する情報、例えばプログラムカウンタやステータスレジスタをプロセッサシステム内部で退避させる。また、発生した例外の要因ごとに異なる例外処理ハンドラが実行される。例外処理ハンドラは、例外処理が記述されたプログラムであって、一般に、オペレーティングシステムの一部として実装されている。例外処理が完了すると、退避させていた情報に基づいてプロセッサの状態を回復させ、例外が発生した際におけるプログラムの実行が再開される。   Exception processing is processing for interrupting execution of an instruction sequence of a program during execution of the program and executing a different instruction sequence, and is performed inside the processor system. Exception processing is triggered when an error occurs due to instruction execution, for example, when a trap instruction is executed for a system call that calls a function of the operating system, or when a page fault occurs for operating the memory management mechanism. is there. When an exception occurs in the processor, the program being executed by the processor is interrupted, and information on the state of the processor at the time of the exception occurrence, such as a program counter and a status register, is saved in the processor system. In addition, a different exception handler is executed for each cause of the exception that has occurred. The exception handling handler is a program in which exception handling is described, and is generally implemented as a part of the operating system. When the exception processing is completed, the processor state is recovered based on the saved information, and the execution of the program when an exception occurs is resumed.

従来、マルチプロセッサシステムで実行されるプログラムをデバッグ処理するデバッグ支援装置の技術が提案されている(例えば、特許文献1参照)。特許文献1に提案されている技術では、あるプロセッサにおいてデバッグ例外が発生した場合に他のプロセッサを停止させ、マルチプロセッサシステムのデバッグに利用する。デバッグ支援装置は、オンラインデバッガとPCのソフトウェアとによって構成されている。オンラインデバッガは、プロセッサをターゲットとしてプログラムのバグの発見及び修正を支援するソフトウェアである。   Conventionally, a technique of a debugging support apparatus that debugs a program executed in a multiprocessor system has been proposed (see, for example, Patent Document 1). In the technique proposed in Patent Document 1, when a debug exception occurs in a certain processor, another processor is stopped and used for debugging a multiprocessor system. The debugging support apparatus is composed of an online debugger and PC software. The online debugger is software that supports the discovery and correction of program bugs targeting a processor.

特開2007−188147号公報JP 2007-188147 A

プログラムの動作を把握し解析する手段としては、例えばICE(In-Circuit Emulator)のようなハードウェア装置を付加する方法と、特許文献1に提案される技術のようにソフトウェアにより実現する方法とがある。ハードウェア装置を付加する場合、プログラムの動作を把握し解析するための専用の装置を用意する必要があるためコストの低減が困難となる。また、ソフトウェアにより実現する方法では、対象となるプログラムにトレース用の命令を加える等、プログラムの変更が必要となる。プログラム自体を変更する以外には、プログラムが動作するオペレーティングシステムの機能を利用する方法も取り得る。この場合、プログラムの動作を把握するための処理によって、本来のプログラムの動作とは実行タイミングが異なってしまうこととなる。   As means for grasping and analyzing the operation of the program, for example, there are a method of adding a hardware device such as ICE (In-Circuit Emulator) and a method of realizing by software like the technique proposed in Patent Document 1. is there. When a hardware device is added, it is necessary to prepare a dedicated device for grasping and analyzing the operation of the program, so that it is difficult to reduce the cost. Further, in the method realized by software, it is necessary to change the program such as adding a tracing instruction to the target program. In addition to changing the program itself, a method of using the function of the operating system on which the program operates can be used. In this case, the processing for grasping the operation of the program causes the execution timing to be different from the original operation of the program.

本発明は、これらの課題を解決するためになされたものであって、専用のハードウェア装置の付加や、対象となるプログラムが動作するプロセッサのソフトウェアへの変更を不要として、対象となるプログラムの動作を把握及び解析することを可能とするマルチプロセッサシステム及び情報処理装置を提供することを目的とする。   The present invention has been made to solve these problems, and does not require the addition of a dedicated hardware device or a change to the software of the processor on which the target program operates, so that the target program can be changed. It is an object of the present invention to provide a multiprocessor system and an information processing apparatus capable of grasping and analyzing operations.

上述した課題を解決し、目的を達成するために、本発明は、共通のシステムバスに接続された複数のプロセッサと、複数のプロセッサのうちの第1のプロセッサにおける例外の発生を、複数のプロセッサのうち第1のプロセッサ以外の少なくとも一つのプロセッサである第2のプロセッサへ通知する例外通知手段と、第1のプロセッサにおいて例外が発生した際における第1のプロセッサの状態に関する情報を保持する例外情報保持手段と、を有し、第2のプロセッサは、例外通知手段による通知に応じて、例外情報保持手段に保持されている情報を取得することを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention relates to a plurality of processors connected to a common system bus and occurrence of an exception in a first processor among the plurality of processors. Exception notification means for notifying to a second processor which is at least one processor other than the first processor, and exception information for holding information on the state of the first processor when an exception occurs in the first processor And holding means, wherein the second processor acquires information held in the exception information holding means in response to a notification from the exception notifying means.

本発明によれば、専用のハードウェア装置の付加や、対象となるプログラムが動作するプロセッサのソフトウェアへの変更を不要として、対象となるプログラムの動作を把握及び解析することができるという効果を奏する。   According to the present invention, there is an effect that it is possible to grasp and analyze the operation of the target program without adding a dedicated hardware device or changing the software of the processor on which the target program operates. .

以下、図面に基づいて、本発明に係るマルチプロセッサシステムの実施の形態を詳細に説明する。   Embodiments of a multiprocessor system according to the present invention will be described below in detail with reference to the drawings.

実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す。本実施の形態に係るマルチプロセッサシステムは、二つのCPU(Central Processing Unit)1、2、主記憶装置10、割込みコントローラ11、IO装置12、共通バス13、例外通知部20、及び例外情報保持部30を有する。第1のプロセッサとして機能するCPU1、及び第2のプロセッサとして機能するCPU2は、共通のシステムバスである共通バス13に接続されている。共通バス13には、二つのCPU1、2の他、主記憶装置10、IO装置12、例外通知部20、及び例外情報保持部30が接続されている。主記憶装置10は、CPU1、2のメモリ空間にアドレス割付され、各CPU1、2から全領域をアクセス可能に構成されている。
Embodiment 1 FIG.
FIG. 1 shows a block configuration of an information processing apparatus including a multiprocessor system according to Embodiment 1 of the present invention. The multiprocessor system according to the present embodiment includes two CPUs (Central Processing Units) 1 and 2, a main storage device 10, an interrupt controller 11, an IO device 12, a common bus 13, an exception notification unit 20, and an exception information holding unit. 30. The CPU 1 functioning as a first processor and the CPU 2 functioning as a second processor are connected to a common bus 13 that is a common system bus. In addition to the two CPUs 1 and 2, the main storage device 10, the IO device 12, the exception notification unit 20, and the exception information holding unit 30 are connected to the common bus 13. The main storage device 10 is configured such that addresses are assigned to the memory spaces of the CPUs 1 and 2 and the entire area can be accessed from the CPUs 1 and 2.

マルチプロセッサシステムは、実行中のプログラムの処理を切り替える場合、例えば、タスク切り替え、IO装置12の処理終了通知等において、割込みを行う。割込みコントローラ11は、CPU1、2への割込みを制御する割込み制御手段として機能する。割込みコントローラ11は、CPU1、2の内部及び外部からの割込み要求を受けることにより、CPU1又はCPU2に対する割込みを発生する。   When switching the processing of a program that is being executed, the multiprocessor system interrupts, for example, in task switching, notification of processing end of the IO device 12, and the like. The interrupt controller 11 functions as an interrupt control unit that controls interrupts to the CPUs 1 and 2. The interrupt controller 11 generates an interrupt to the CPU 1 or the CPU 2 by receiving interrupt requests from the inside and outside of the CPUs 1 and 2.

割込みコントローラ11は、割込みを発生させる要因ごとに任意のCPU1、2に対する割込みを発生するように設定可能である。割込みコントローラ11は、例えば、IO装置12からの割込み要求に対してはCPU1への割込みを発生し、例外通知部20からの割込み要求に対してはCPU2への割込みを発生する旨の設定がなされる。かかる設定は、通常、システム起動時の初期化処理において行う。   The interrupt controller 11 can be set to generate an interrupt to any CPU 1 or 2 for each factor that generates an interrupt. For example, the interrupt controller 11 is configured to generate an interrupt to the CPU 1 in response to an interrupt request from the IO device 12 and to generate an interrupt to the CPU 2 in response to an interrupt request from the exception notification unit 20. The Such setting is normally performed in the initialization process at the time of system startup.

例外通知部20は、第1のプロセッサであるCPU1における例外の発生を、第2のプロセッサであるCPU2へ通知する例外通知手段として機能する。例外通知部20は、CPU1における例外の発生により、割込みコントローラ11へ割込み要求を送出する。CPU1における例外の発生に対して、例外通知部20は、ある単一の番号の割込み要求を送出する。或いは、例外通知部20は、CPU1で発生した例外の要因に応じて異なる番号の割込み要求を送出することとしても良い。例外情報保持部30は、第1のプロセッサであるCPU1において例外が発生した際におけるCPU1の状態に関する情報を保持する例外情報保持手段として機能する。   The exception notification unit 20 functions as an exception notification unit that notifies the CPU 2 that is the second processor of the occurrence of an exception in the CPU 1 that is the first processor. The exception notification unit 20 sends an interrupt request to the interrupt controller 11 when an exception occurs in the CPU 1. In response to the occurrence of an exception in the CPU 1, the exception notification unit 20 sends an interrupt request having a single number. Alternatively, the exception notification unit 20 may send out interrupt requests with different numbers depending on the cause of the exception that has occurred in the CPU 1. The exception information holding unit 30 functions as an exception information holding unit that holds information about the state of the CPU 1 when an exception occurs in the CPU 1 that is the first processor.

図2は、例外情報保持部30の構成を説明するものである。例外情報保持部30は、例外要因保持部31、例外命令アドレス保持部32、例外状況保持部33を有する。例外要因保持部31、例外命令アドレス保持部32、例外状況保持部33は、いずれも共通バス13に接続されている。例外要因保持部31は、CPU1において発生した例外の要因に関する情報を保持する例外要因保持手段として機能する。例外命令アドレス保持部32は、CPU1において例外が発生した命令のアドレスを保持する例外命令アドレス保持手段として機能する。   FIG. 2 illustrates the configuration of the exception information holding unit 30. The exception information holding unit 30 includes an exception factor holding unit 31, an exception instruction address holding unit 32, and an exception status holding unit 33. The exception factor holding unit 31, the exception instruction address holding unit 32, and the exception status holding unit 33 are all connected to the common bus 13. The exception factor holding unit 31 functions as an exception factor holding unit that holds information regarding the cause of the exception that has occurred in the CPU 1. The exception instruction address holding unit 32 functions as an exception instruction address holding unit that holds an address of an instruction in which an exception has occurred in the CPU 1.

例外状況保持部33は、CPU1において発生した例外の状況に関する情報を保持する例外状況保持手段として機能する。例えば、メモリ読み込み命令でのアドレスエラーによる例外が発生した場合、例外状況保持部33は、メモリへのアクセスによりエラーが発生したアドレスを保持する。トラップ命令の実行による例外が発生した場合、例外状況保持部33は、トラップ命令のオペランドである番号を保持する。   The exception status holding unit 33 functions as an exception status holding unit that holds information regarding the status of an exception that has occurred in the CPU 1. For example, when an exception due to an address error in a memory read instruction occurs, the exception status holding unit 33 holds an address where an error has occurred due to access to the memory. When an exception occurs due to the execution of the trap instruction, the exception status holding unit 33 holds a number that is an operand of the trap instruction.

例外情報保持部30は、一回の例外についての情報のみを保持するもの、複数回の例外についての情報を保持するもののいずれであっても良い。一回の例外についての情報のみを保持する場合、例外要因保持部31、例外命令アドレス保持部32、例外状況保持部33は、CPU1において例外が発生するごとに保持する情報を書き換える。複数回の例外についての情報を保持する場合、例外要因保持部31、例外命令アドレス保持部32、例外状況保持部33は、例えば、FIFO(First In First out)方式の構成とする。   The exception information holding unit 30 may be either one that holds only information about one exception or one that holds information about a plurality of exceptions. When only the information about one exception is held, the exception factor holding unit 31, the exception instruction address holding unit 32, and the exception status holding unit 33 rewrite information held every time an exception occurs in the CPU 1. In the case of holding information about a plurality of exceptions, the exception factor holding unit 31, the exception instruction address holding unit 32, and the exception status holding unit 33 have, for example, a first in first out (FIFO) configuration.

CPU1でのプログラムの実行中に例外、例えば、ページフォルト、オーバフロー、アドレスエラー等が発生すると、CPU1における処理は、例外処理へ切り替えられる。CPU1は、例外が発生すると、例外処理ベクタで示されるメモリアドレスの命令を読み込んで、発生した例外に対応する例外処理ハンドラを実行する。   If an exception, for example, a page fault, an overflow, an address error, or the like occurs during execution of a program on the CPU 1, the processing in the CPU 1 is switched to exception processing. When an exception occurs, the CPU 1 reads the instruction at the memory address indicated by the exception processing vector and executes the exception processing handler corresponding to the generated exception.

例外通知部20は、CPU1における例外の発生に対して、割込みコントローラ11へ割込み要求を送出する。割込みコントローラ11は、例外通知部20からの割込み要求を受けることにより、CPU2に対する割込みを発生する。割込みを受けたCPU2は、割込みベクタで示されるメモリアドレスの命令を読み込んで、例外通知部20から送出された割込み要求に対応する割込みハンドラを実行する。このように、例外通知部20は、割込みコントローラ11を介してCPU2へ割込み要求を送出することにより、CPU1における例外の発生をCPU2へ通知する。   The exception notification unit 20 sends an interrupt request to the interrupt controller 11 when an exception occurs in the CPU 1. The interrupt controller 11 generates an interrupt to the CPU 2 by receiving an interrupt request from the exception notification unit 20. Upon receiving the interrupt, the CPU 2 reads the instruction at the memory address indicated by the interrupt vector, and executes an interrupt handler corresponding to the interrupt request sent from the exception notification unit 20. In this manner, the exception notification unit 20 notifies the CPU 2 of the occurrence of an exception in the CPU 1 by sending an interrupt request to the CPU 2 via the interrupt controller 11.

図3は、第2のプロセッサであるCPU2における割込みハンドラの処理を説明するフローチャートである。CPU2では、例外通知部20からの割込み要求に対応する割込みハンドラが実行される。CPU2における割込みハンドラの実行が開始されると、ステップS11において、CPU2は、例外要因保持部31に保持されている例外の要因に関する情報を取得する。CPU2は、例外要因保持部31に保持されている情報を、共通バス13を介して読み出す。   FIG. 3 is a flowchart for explaining processing of the interrupt handler in the CPU 2 as the second processor. In the CPU 2, an interrupt handler corresponding to the interrupt request from the exception notification unit 20 is executed. When the execution of the interrupt handler in the CPU 2 is started, the CPU 2 acquires information on the exception factor held in the exception factor holding unit 31 in step S11. The CPU 2 reads information held in the exception factor holding unit 31 via the common bus 13.

ステップS12において、CPU2は、例外命令アドレス保持部32に保持されているアドレスを取得する。CPU2は、例外命令アドレス保持部32に保持されている情報を、共通バス13を介して読み出す。ステップS13において、CPU2は、例外状況保持部33に保持されている例外の状況に関する情報を取得する。CPU2は、例外状況保持部33に保持されている情報を、共通バス13を介して読み出す。このように、第2のプロセッサであるCPU2は、例外通知部20による通知に応じて、例外情報保持部30に保持されている情報を取得する。なお、ステップS11、S12、S13は特に順序を定める必要は無く、かかる順序である場合に限られないものとする。   In step S <b> 12, the CPU 2 acquires the address held in the exception instruction address holding unit 32. The CPU 2 reads the information held in the exception instruction address holding unit 32 via the common bus 13. In step S <b> 13, the CPU 2 acquires information regarding the exception status held in the exception status holding unit 33. The CPU 2 reads out the information held in the exception status holding unit 33 via the common bus 13. As described above, the CPU 2 that is the second processor acquires the information held in the exception information holding unit 30 in response to the notification from the exception notification unit 20. Note that steps S11, S12, and S13 do not have to be in particular order, and are not limited to such order.

次に、ステップS14において、CPU2は、ステップS11において取得した例外の要因に関する情報、ステップS12において取得したアドレス、ステップS13において取得した例外の状況に関する情報を主記憶装置10上の領域に保存する。ステップS15において、CPU2は、例外が発生した際におけるCPU1の状態に関する情報の取得が完了したことを例外通知部20へ通知する。かかる通知は、共通バス13を介してなされる。   Next, in step S <b> 14, the CPU 2 stores the information regarding the cause of the exception acquired in step S <b> 11, the address acquired in step S <b> 12, and the information regarding the exception status acquired in step S <b> 13 in an area on the main storage device 10. In step S <b> 15, the CPU 2 notifies the exception notification unit 20 that acquisition of information related to the state of the CPU 1 when an exception has occurred is completed. Such notification is made via the common bus 13.

例外通知部20は、情報の取得が完了したことの通知をCPU2から受けることにより、割込みコントローラ11に対する割込み要求を解除する。CPU2は、例外通知部20による割込み要求の解除により、割込みハンドラの実行を終了する。CPU1は、例外処理ハンドラの実行が完了すると、例外が発生した際における状態に関する情報を主記憶装置10から読み出す。CPU1は、主記憶装置10から読み出した情報に基づいて、例外の発生時に実行していたプログラムを再開させる。   The exception notification unit 20 cancels the interrupt request to the interrupt controller 11 by receiving a notification from the CPU 2 that information acquisition has been completed. The CPU 2 ends the execution of the interrupt handler when the exception notification unit 20 cancels the interrupt request. When the execution of the exception handling handler is completed, the CPU 1 reads out information on the state when the exception has occurred from the main storage device 10. Based on the information read from the main storage device 10, the CPU 1 resumes the program that was being executed when the exception occurred.

CPU1における例外の発生を例外通知部20によりCPU2へ通知するとともに、例外情報保持部30に保持された情報をCPU2が取得することにより、CPU1で実行しているプログラムの動作を把握及び解析し、CPU1で発生した例外を処理する。これにより、専用のハードウェア装置の付加やプログラムの変更を不要とし、対象となるプログラムの動作を把握及び解析することができるという効果を奏する。また、対象のプログラムが動作するCPU1のソフトウェアには何ら変更を行わないため、本来のプログラムの動作タイミングを変えること無く、対象のプログラムの動作の把握及び解析ができる。   The exception notification unit 20 notifies the CPU 2 of the occurrence of an exception, and the CPU 2 acquires the information held in the exception information holding unit 30, thereby grasping and analyzing the operation of the program executed by the CPU 1, Handle exceptions that occur in CPU1. This eliminates the need for adding a dedicated hardware device or changing the program, and has an effect of grasping and analyzing the operation of the target program. Further, since no change is made to the software of the CPU 1 in which the target program operates, the operation of the target program can be grasped and analyzed without changing the operation timing of the original program.

マルチプロセッサシステムは、二つのプロセッサを有する構成に限られず、三つ以上のプロセッサを有する構成であっても良い。マルチプロセッサシステムは、複数のプロセッサのうちの第1のプロセッサにおいて例外が発生した場合に、第1のプロセッサの状態に関する情報を、第1のプロセッサ以外のプロセッサである第2のプロセッサが取得可能であれば良い。   The multiprocessor system is not limited to a configuration having two processors, and may have a configuration having three or more processors. In the multiprocessor system, when an exception occurs in the first processor among the plurality of processors, the second processor, which is a processor other than the first processor, can acquire information on the state of the first processor. I just need it.

実施の形態2.
図4は、本発明の実施の形態2に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す。本実施の形態に係るマルチプロセッサシステムは、例外通知選択部40を有することを特徴とする。本実施の形態に係るマルチプロセッサシステムは、例外通知選択部40を有する他は、上記実施の形態1に係るマルチプロセッサシステムと同様の構成を有する。上記実施の形態1と同一の部分には同一の符号を付し、重複する説明を省略する。
Embodiment 2. FIG.
FIG. 4 shows a block configuration of an information processing apparatus including a multiprocessor system according to Embodiment 2 of the present invention. The multiprocessor system according to the present embodiment has an exception notification selection unit 40. The multiprocessor system according to the present embodiment has the same configuration as that of the multiprocessor system according to the first embodiment except that the multiprocessor system includes the exception notification selection unit 40. The same parts as those in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.

例外通知選択部40は、共通バス13に接続されている。例外通知選択部40は、第1のプロセッサであるCPU1において発生した例外の要因に応じて、例外通知部20から送出する割込み要求を選択する例外通知選択手段として機能する。CPU1において例外が発生すると、例外通知部20は、例外通知選択部40を参照し、例外の要因に応じて例外通知選択部40で選択された割込み要求を送出する。   The exception notification selection unit 40 is connected to the common bus 13. The exception notification selection unit 40 functions as an exception notification selection unit that selects an interrupt request transmitted from the exception notification unit 20 in accordance with the cause of the exception that has occurred in the CPU 1 that is the first processor. When an exception occurs in the CPU 1, the exception notification unit 20 refers to the exception notification selection unit 40 and sends out the interrupt request selected by the exception notification selection unit 40 according to the cause of the exception.

図5は、例外通知選択部40において割込み要求を選択する例を説明するものである。CPU1において例外要因番号1の例外、又は例外要因番号3の例外が発生した場合、例外通知選択部40は、割込み要求番号5を選択する。CPU1において例外要因番号2の例外が発生した場合、例外通知選択部40は、割込み要求番号6を選択する。CPU1において例外要因番号4の例外が発生した場合、例外通知選択部40は、割込み要求番号7を選択する。   FIG. 5 illustrates an example in which the interrupt notification selection unit 40 selects an interrupt request. When an exception with exception factor number 1 or an exception with exception factor number 3 occurs in CPU 1, exception notification selection unit 40 selects interrupt request number 5. When an exception with the exception factor number 2 occurs in the CPU 1, the exception notification selection unit 40 selects the interrupt request number 6. When an exception with the exception factor number 4 occurs in the CPU 1, the exception notification selection unit 40 selects the interrupt request number 7.

割込みコントローラ11は、システム起動時の初期化処理において、例外通知として使用される割込み要求全てに対してCPU2への割込みを発生する旨の設定がなされている。図5に示す例の場合、割込み要求番号5、割込み要求番号6、及び割込み要求番号7がいずれもCPU2への割込みとなる。   The interrupt controller 11 is set to generate an interrupt to the CPU 2 for all interrupt requests used as exception notification in the initialization process at the time of system startup. In the case of the example shown in FIG. 5, the interrupt request number 5, the interrupt request number 6, and the interrupt request number 7 are all interrupts to the CPU 2.

図6は、割込み要求番号7に対応する割込みハンドラの処理を説明するフローチャートである。ここでは、例外通知選択部40が割込み要求番号7を選択する例外要因番号4は、命令アドレス例外であるとする。命令アドレス例外の場合、例外の要因に関する情報、及び例外が発生した命令のアドレスを用いることによりCPU1の状態を把握可能であって、例外の状況に関する情報が不要であるとする。   FIG. 6 is a flowchart for explaining the processing of the interrupt handler corresponding to the interrupt request number 7. Here, it is assumed that the exception factor number 4 for which the exception notification selection unit 40 selects the interrupt request number 7 is an instruction address exception. In the case of an instruction address exception, it is assumed that the state of the CPU 1 can be grasped by using information on the cause of the exception and the address of the instruction in which the exception has occurred, and information on the status of the exception is unnecessary.

CPU2において割込み要求番号7に対応する割込みハンドラの実行が開始されると、ステップS21において、CPU2は、例外要因保持部31に保持されている例外の要因に関する情報を取得する。ステップS22において、CPU2は、例外命令アドレス保持部32に保持されているアドレスを取得する。ここでは、例外状況保持部33へのアクセスが省略される。   When execution of the interrupt handler corresponding to the interrupt request number 7 is started in the CPU 2, the CPU 2 acquires information on the cause of the exception held in the exception factor holding unit 31 in step S 21. In step S <b> 22, the CPU 2 acquires the address held in the exception instruction address holding unit 32. Here, access to the exception status holding unit 33 is omitted.

次に、ステップS23において、CPU2は、ステップS21において取得した例外の要因に関する情報、ステップS22において取得したアドレスを主記憶装置10上の領域に保存する。ステップS24において、CPU2は、例外が発生した際におけるCPU1の状態に関する情報の取得が完了したことを例外通知部20へ通知する。例外通知部20は、情報の取得が完了したことの通知をCPU2から受けることにより、割込みコントローラ11に対する割込み要求を解除する。   Next, in step S <b> 23, the CPU 2 stores information on the cause of the exception acquired in step S <b> 21 and the address acquired in step S <b> 22 in an area on the main storage device 10. In step S <b> 24, the CPU 2 notifies the exception notification unit 20 that acquisition of information related to the state of the CPU 1 when an exception has occurred is completed. The exception notification unit 20 cancels the interrupt request to the interrupt controller 11 by receiving a notification from the CPU 2 that information acquisition has been completed.

なお、例外要因番号1〜3については、CPU1の状態を把握するには、例外の要因に関する情報、例外が発生した命令のアドレス、例外の状況に関する情報のいずれも用いられるとする。例外要因番号1又は3によって選択される割込み要求番号5、例外要因番号2によって選択される割込み要求番号6については、割込みハンドラの処理は、図3に示す実施の形態1の場合と同様となる。   For exception factor numbers 1 to 3, it is assumed that information regarding the cause of the exception, the address of the instruction in which the exception has occurred, and information regarding the status of the exception are used to grasp the state of the CPU 1. For the interrupt request number 5 selected by the exception factor number 1 or 3, and the interrupt request number 6 selected by the exception factor number 2, the processing of the interrupt handler is the same as that in the first embodiment shown in FIG. .

CPU1で発生した例外の要因に応じて、例外通知として使用する割込み要求を選択することにより、第2のプロセッサであるCPU2では、第1のプロセッサであるCPU1で発生した例外の要因に応じて異なる割り込みハンドラが実行される。これにより、例外が発生した際におけるCPU1の状態に関する情報の取得を効率的に行うことができるという効果を奏する。   By selecting an interrupt request to be used as an exception notification in accordance with the cause of the exception that has occurred in the CPU 1, the CPU 2 that is the second processor differs depending on the cause of the exception that has occurred in the CPU 1 that is the first processor. The interrupt handler is executed. As a result, it is possible to efficiently acquire information related to the state of the CPU 1 when an exception occurs.

三つ以上のCPUを有する構成とする場合、割込みコントローラ11は、例外通知選択部40において選択された割込み要求ごとに、異なるCPUへの割込みを発生する設定をしても良い。これにより、例外が発生した際における第1のプロセッサであるCPUの情報を、第2のプロセッサである複数のCPUにおいて取得する構成にできる。第2のプロセッサは、複数のプロセッサのうち第1のプロセッサ以外の少なくとも一つのプロセッサであれば良く、複数であっても良い。   When the configuration includes three or more CPUs, the interrupt controller 11 may be configured to generate an interrupt to a different CPU for each interrupt request selected by the exception notification selection unit 40. As a result, the information of the CPU that is the first processor when an exception occurs can be acquired by the plurality of CPUs that are the second processor. The second processor may be at least one processor other than the first processor among the plurality of processors, and may be a plurality.

実施の形態3.
図7は、本発明の実施の形態3に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す。本実施の形態に係るマルチプロセッサシステムは、例外要因指定部50を有することを特徴とする。本実施の形態に係るマルチプロセッサシステムは、例外要因指定部50を有する他は、上記実施の形態1に係るマルチプロセッサシステムと同様の構成を有する。上記実施の形態1と同一の部分には同一の符号を付し、重複する説明を省略する。
Embodiment 3 FIG.
FIG. 7 shows a block configuration of an information processing apparatus including a multiprocessor system according to Embodiment 3 of the present invention. The multiprocessor system according to the present embodiment has an exception factor designating unit 50. The multiprocessor system according to the present embodiment has the same configuration as that of the multiprocessor system according to the first embodiment except that the multiprocessor system includes an exception factor specifying unit 50. The same parts as those in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.

例外要因指定部50は、共通バス13に接続されている。例外要因指定部50は、例外の要因を指定する例外要因指定手段として機能する。例外通知部20は、CPU1において発生した例外の要因が例外要因指定部50において指定されている場合に限り、例外の発生をCPU2へ通知する。   The exception factor specifying unit 50 is connected to the common bus 13. The exception factor designation unit 50 functions as an exception factor designation unit that designates an exception factor. The exception notification unit 20 notifies the CPU 2 of the occurrence of an exception only when the cause of the exception that has occurred in the CPU 1 is designated by the exception factor designation unit 50.

図8は、例外要因指定部50において例外の要因を指定する例を説明するものである。例えば、例外要因指定部50は、例外要因番号1については例外を通知し、例外要因番号2、3、4については例外を非通知とする旨の設定がなされている。図8に示す例では、例外要因指定部50は、例外通知部20によりCPU2へ例外を通知する要因として、例外要因番号1〜4のうち例外要因番号1のみを指定する。かかる設定は、例えば、CPU2上で動作する例外要因指定プログラムが、例外要因指定部50に対して行う。   FIG. 8 illustrates an example in which an exception factor is specified by the exception factor specifying unit 50. For example, the exception factor specifying unit 50 is configured to notify an exception for exception factor number 1 and not to notify the exception factor numbers 2, 3, and 4. In the example shown in FIG. 8, the exception factor designating unit 50 designates only the exception factor number 1 among the exception factor numbers 1 to 4 as a factor for notifying the CPU 2 of the exception by the exception notifying unit 20. Such setting is performed, for example, by the exception factor designation program operating on the CPU 2 for the exception factor designation unit 50.

図8に示す例では、例外通知部20は、CPU1において発生した例外の要因が例外要因番号1である場合に、割込み要求の送出により例外を通知する。また、例外要因番号2〜4である場合は、例外通知部20は割込み要求を送出せず、例外の通知を行わない。割込みコントローラ11は、例外通知部20からの例外通知を受けることにより、CPU2への割込みを発生する。割込みを受けたCPU2は、例外通知部20からの割込み要求に対応する割込みハンドラを実行する。   In the example illustrated in FIG. 8, the exception notification unit 20 notifies the exception by sending an interrupt request when the cause of the exception that has occurred in the CPU 1 is the exception factor number 1. In the case of exception factor numbers 2 to 4, the exception notification unit 20 does not send an interrupt request and does not notify an exception. The interrupt controller 11 generates an interrupt to the CPU 2 by receiving an exception notification from the exception notification unit 20. Upon receiving the interrupt, the CPU 2 executes an interrupt handler corresponding to the interrupt request from the exception notification unit 20.

図9は、第2のプロセッサであるCPU2における割込みハンドラの処理を説明するフローチャートである。CPU2において割込みハンドラの実行が開始されると、ステップS31において、CPU2は、例外要因保持部31に保持されている例外の要因に関する情報を取得する。ステップS32では、CPU2は、ステップS31で取得した例外の要因が、例外を通知する要因として例外要因指定部50に指定されている要因に一致するか否かを判断する。CPU2は、例外要因指定部50に保持されている情報を、共通バス13を介して読み出す。   FIG. 9 is a flowchart for explaining interrupt handler processing in the CPU 2 as the second processor. When the CPU 2 starts executing the interrupt handler, in step S31, the CPU 2 acquires information on the cause of the exception held in the exception factor holding unit 31. In step S <b> 32, the CPU 2 determines whether or not the exception factor acquired in step S <b> 31 matches the factor specified in the exception factor specifying unit 50 as a factor for notifying the exception. The CPU 2 reads the information held in the exception factor specifying unit 50 through the common bus 13.

例外情報保持部30が複数回の例外についての情報を保持するものである場合、以前に発生した例外についての情報であって、例外要因指定部50にて指定されていない要因についての情報を参照する可能性がある。ステップS32では、例外要因保持部31に保持されている例外の要因が例外要因指定部50で指定されたものか否かの確認を行う。ステップS32において一致しないと判断した場合、ステップS37において、CPU2は、例外情報保持部30に保持された次の例外についての情報を参照する。さらに、ステップS31に戻って、例外要因保持部31に保持されている例外の要因に関する情報を取得する。なお、例外要因保持部31に保持されている例外の要因が例外要因指定部50で指定されたものか否かの確認が不要な場合、例えば、例外情報保持部30が一回の例外についての情報のみを保持するものである場合は、ステップS32を省略しても良い。   When the exception information holding unit 30 holds information about a plurality of exceptions, refer to information about previously generated exceptions that are not specified by the exception factor specifying unit 50 there's a possibility that. In step S <b> 32, it is checked whether or not the exception factor held in the exception factor holding unit 31 is specified by the exception factor specifying unit 50. If it is determined in step S32 that they do not match, in step S37, the CPU 2 refers to information on the next exception held in the exception information holding unit 30. Further, the process returns to step S31, and information on the exception factor held in the exception factor holding unit 31 is acquired. If it is not necessary to check whether or not the exception factor held in the exception factor holding unit 31 is specified by the exception factor specifying unit 50, for example, the exception information holding unit 30 sets a single exception. If only information is retained, step S32 may be omitted.

ステップS31で取得した例外の要因と、例外を通知する要因として例外要因指定部50に指定されている要因とが一致するとステップS32において判断した場合、CPU2は、ステップS33において、例外命令アドレス保持部32に保持されているアドレスを取得する。ステップS34では、CPU2は、例外状況保持部33に保持されている例外の状況に関する情報を取得する。   If the CPU 2 determines in step S32 that the exception factor acquired in step S31 matches the factor specified in the exception factor specifying unit 50 as a factor for notifying the exception, the CPU 2 determines in step S33 the exception instruction address holding unit. The address held in 32 is acquired. In step S <b> 34, the CPU 2 acquires information related to the exception status held in the exception status holding unit 33.

次に、ステップS35において、CPU2は、ステップS31において取得した例外の要因に関する情報、ステップS33において取得したアドレス、ステップS34において取得した例外の状況に関する情報を主記憶装置10上の領域に保存する。ステップS36において、CPU2は、例外が発生した際におけるCPU1の状態に関する情報の取得が完了したことを例外通知部20へ通知する。例外通知部20は、情報の取得が完了したことの通知をCPU2から受けることにより、割込みコントローラ11に対する割込み要求を解除する。   Next, in step S <b> 35, the CPU 2 stores information on the exception factor acquired in step S <b> 31, the address acquired in step S <b> 33, and information on the exception status acquired in step S <b> 34 in an area on the main storage device 10. In step S <b> 36, the CPU 2 notifies the exception notification unit 20 that acquisition of information related to the state of the CPU 1 when an exception has occurred is completed. The exception notification unit 20 cancels the interrupt request to the interrupt controller 11 by receiving a notification from the CPU 2 that information acquisition has been completed.

CPU1で発生した例外の要因が例外要因指定部50において指定されている場合に限りCPU2への例外通知を行うことで、CPU1で発生した例外の要因ごとにCPU2への割込みの可否を設定できる。これにより、例外が発生した際におけるCPU1の状態に関する情報の取得を効率的に行うことができるという効果を奏する。なお、本実施の形態に係るマルチプロセッサシステムは、上記実施の形態2で説明した例外通知選択手段をさらに有する構成としても良い。   By making an exception notification to the CPU 2 only when the cause of the exception that has occurred in the CPU 1 is specified in the exception factor designating unit 50, it is possible to set whether or not to interrupt the CPU 2 for each cause of the exception that has occurred in the CPU 1. As a result, it is possible to efficiently acquire information related to the state of the CPU 1 when an exception occurs. Note that the multiprocessor system according to the present embodiment may further include the exception notification selection unit described in the second embodiment.

以上のように、本発明に係るマルチプロセッサシステムは、情報処理装置に用いる場合に適している。   As described above, the multiprocessor system according to the present invention is suitable for use in an information processing apparatus.

実施の形態1に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す図である。1 is a diagram illustrating a block configuration of an information processing apparatus including a multiprocessor system according to Embodiment 1. FIG. 例外情報保持部の構成を説明する図である。It is a figure explaining the structure of an exception information holding part. 第2のプロセッサにおける割込みハンドラの処理を説明するフローチャートである。It is a flowchart explaining the process of the interrupt handler in a 2nd processor. 実施の形態2に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す図である。FIG. 6 is a diagram illustrating a block configuration of an information processing apparatus including a multiprocessor system according to a second embodiment. 例外通知選択部において割込み要求を選択する例を説明する図である。It is a figure explaining the example which selects an interrupt request in an exception notification selection part. 割込み要求番号7に対応する割込みハンドラの処理を説明するフローチャートである。It is a flowchart explaining the process of the interrupt handler corresponding to the interrupt request number 7. 実施の形態3に係るマルチプロセッサシステムを備える情報処理装置のブロック構成を示す図である。FIG. 10 is a diagram illustrating a block configuration of an information processing apparatus including a multiprocessor system according to a third embodiment. 例外要因指定部において例外の要因を指定する例を説明する図である。It is a figure explaining the example which designates the factor of an exception in the exception factor designation | designated part. 第2のプロセッサにおける割込みハンドラの処理を説明するフローチャートである。It is a flowchart explaining the process of the interrupt handler in a 2nd processor.

符号の説明Explanation of symbols

1、2 CPU
11 割込みコントローラ
20 例外通知部
30 例外情報保持部
40 例外通知選択部
50 例外要因指定部
1, 2 CPU
DESCRIPTION OF SYMBOLS 11 Interrupt controller 20 Exception notification part 30 Exception information holding part 40 Exception notification selection part 50 Exception factor designation part

Claims (6)

共通のシステムバスに接続された複数のプロセッサと、
前記複数のプロセッサのうちの第1のプロセッサにおける例外の発生を、前記複数のプロセッサのうち前記第1のプロセッサ以外の少なくとも一つのプロセッサである第2のプロセッサへ通知する例外通知手段と、
前記第1のプロセッサにおいて例外が発生した際における前記第1のプロセッサの状態に関する情報を保持する例外情報保持手段と、を有し、
前記第2のプロセッサは、前記例外通知手段による通知に応じて、前記例外情報保持手段に保持されている情報を取得することを特徴とするマルチプロセッサシステム。
Multiple processors connected to a common system bus;
Exception notifying means for notifying the occurrence of an exception in the first processor of the plurality of processors to a second processor that is at least one processor other than the first processor among the plurality of processors;
An exception information holding unit that holds information about a state of the first processor when an exception occurs in the first processor;
The multi-processor system according to claim 2, wherein the second processor acquires information held in the exception information holding unit in response to a notification from the exception notification unit.
前記例外情報保持手段は、
前記第1のプロセッサにおいて発生した例外の要因に関する情報を保持する例外要因保持手段と、
前記第1のプロセッサにおいて例外が発生した命令のアドレスを保持する例外命令アドレス保持手段と、
前記第1のプロセッサにおいて発生した例外の状況に関する情報を保持する例外状況保持手段と、を有することを特徴とする請求項1に記載のマルチプロセッサシステム。
The exception information holding means is
Exception factor holding means for holding information about the cause of the exception that occurred in the first processor;
Exception instruction address holding means for holding an address of an instruction in which an exception has occurred in the first processor;
2. The multiprocessor system according to claim 1, further comprising exception status holding means for holding information on the status of an exception that has occurred in the first processor.
前記複数のプロセッサへの割込みを制御する割込み制御手段を有し、
前記例外通知手段は、前記割込み制御手段を介して前記第2のプロセッサへ割込み要求を送出することにより、前記第1のプロセッサにおける例外の発生を前記第2のプロセッサへ通知することを特徴とする請求項1又は2に記載のマルチプロセッサシステム。
Interrupt control means for controlling interrupts to the plurality of processors;
The exception notifying unit notifies the second processor of the occurrence of an exception in the first processor by sending an interrupt request to the second processor via the interrupt control unit. The multiprocessor system according to claim 1 or 2.
前記第1のプロセッサにおいて発生した例外の要因に応じて、前記例外通知手段から送出する前記割込み要求を選択する例外通知選択手段をさらに有することを特徴とする請求項3に記載のマルチプロセッサシステム。   4. The multiprocessor system according to claim 3, further comprising exception notification selection means for selecting the interrupt request sent from the exception notification means in accordance with a cause of an exception that has occurred in the first processor. 例外の要因を指定する例外要因指定手段をさらに有し、
前記例外通知手段は、前記第1のプロセッサで発生した例外の要因が前記例外要因指定手段において指定されている場合に限り、前記第1のプロセッサにおける例外の発生を前記第2のプロセッサへ通知することを特徴とする請求項1〜4のいずれか一項に記載のマルチプロセッサシステム。
An exception factor specifying means for specifying an exception factor;
The exception notification means notifies the second processor of the occurrence of an exception in the first processor only when the cause of the exception that has occurred in the first processor is designated by the exception factor designation means. The multiprocessor system according to claim 1, wherein the multiprocessor system is a multi-processor system.
共通のシステムバスに接続された複数のプロセッサと、
前記複数のプロセッサのうちの第1のプロセッサにおける例外の発生を、前記複数のプロセッサのうち前記第1のプロセッサ以外の少なくとも一つのプロセッサである第2のプロセッサへ通知する例外通知手段と、
前記第1のプロセッサにおいて例外が発生した際における前記第1のプロセッサの状態に関する情報を保持する例外情報保持手段と、を有し、
前記第2のプロセッサは、前記例外通知手段による通知に応じて、前記例外情報保持手段に保持されている情報を取得することを特徴とする情報処理装置。
Multiple processors connected to a common system bus;
Exception notifying means for notifying the occurrence of an exception in the first processor of the plurality of processors to a second processor that is at least one processor other than the first processor among the plurality of processors;
An exception information holding unit that holds information about a state of the first processor when an exception occurs in the first processor;
The information processing apparatus, wherein the second processor acquires information held in the exception information holding unit in response to a notification from the exception notification unit.
JP2008174500A 2008-07-03 2008-07-03 Multiprocessor system and information processor Pending JP2010015364A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008174500A JP2010015364A (en) 2008-07-03 2008-07-03 Multiprocessor system and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008174500A JP2010015364A (en) 2008-07-03 2008-07-03 Multiprocessor system and information processor

Publications (1)

Publication Number Publication Date
JP2010015364A true JP2010015364A (en) 2010-01-21

Family

ID=41701432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008174500A Pending JP2010015364A (en) 2008-07-03 2008-07-03 Multiprocessor system and information processor

Country Status (1)

Country Link
JP (1) JP2010015364A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2484729A (en) * 2010-10-22 2012-04-25 Advanced Risc Mach Ltd Exception control in a multiprocessor system
CN111209164A (en) * 2020-01-03 2020-05-29 杭州迪普科技股份有限公司 Abnormal information storage method and device, electronic equipment and storage medium
WO2020115455A1 (en) * 2018-12-06 2020-06-11 Arm Limited A system and method for handling exception causing events

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2484729A (en) * 2010-10-22 2012-04-25 Advanced Risc Mach Ltd Exception control in a multiprocessor system
US9430419B2 (en) 2010-10-22 2016-08-30 Arm Limited Synchronizing exception control in a multiprocessor system using processing unit exception states and group exception states
WO2020115455A1 (en) * 2018-12-06 2020-06-11 Arm Limited A system and method for handling exception causing events
US11630673B2 (en) 2018-12-06 2023-04-18 Arm Limited System and method for physically separating, across different processing units, software for handling exception causing events from executing program code
CN111209164A (en) * 2020-01-03 2020-05-29 杭州迪普科技股份有限公司 Abnormal information storage method and device, electronic equipment and storage medium
CN111209164B (en) * 2020-01-03 2023-09-26 杭州迪普科技股份有限公司 Abnormality information storage method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
JP4222370B2 (en) Program for causing a computer to execute a debugging support apparatus and a debugging processing method
US8136097B2 (en) Thread debugging device, thread debugging method and information storage medium
JP3571976B2 (en) Debugging apparatus and method, and program recording medium
US6944850B2 (en) Hop method for stepping parallel hardware threads
US20070011507A1 (en) System and method for remote system support
JP5093259B2 (en) Communication path strengthening method between BIOS and BMC, apparatus and program thereof
JP2007226413A (en) Memory dump method, memory dump program and computer system
US10379931B2 (en) Computer system
JP2010015364A (en) Multiprocessor system and information processor
JP2006164185A (en) Debug device
JP2009175960A (en) Virtual multiprocessor system
EP2630577B1 (en) Exception control in a multiprocessor system
JP6726136B2 (en) Data access device and access error notification method
US9959225B2 (en) Computer apparatus and control method of computer apparatus
JP5803721B2 (en) Data processing device
JP2008140124A (en) Data processor
JP2005234744A (en) Multiprocessor system and failure processing method
JP2005122375A (en) Device and method for operation test
JP4787551B2 (en) Debug system, debugging method and program
US11392438B2 (en) Responding to unresponsive processing circuitry
JP2008077388A (en) Multiprocessor control system, method and program
JP2007316986A (en) System lsi
US9342359B2 (en) Information processing system and information processing method
JP2550708B2 (en) Debug method
JP2007122547A (en) Program implementation method and shared memory type multicore processor

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100519