WO2012137321A1 - 情報処理装置、及びその方法 - Google Patents
情報処理装置、及びその方法 Download PDFInfo
- Publication number
- WO2012137321A1 WO2012137321A1 PCT/JP2011/058710 JP2011058710W WO2012137321A1 WO 2012137321 A1 WO2012137321 A1 WO 2012137321A1 JP 2011058710 W JP2011058710 W JP 2011058710W WO 2012137321 A1 WO2012137321 A1 WO 2012137321A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- trace
- processing apparatus
- condition
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
Definitions
- the present invention relates to an information processing technique for tracing data for analyzing a failure of an external device of a central processing unit such as an input / output device in an information processing device in a time series in the central processing unit.
- a branch trace technique is used to trace a program address called a normal program counter at a branch source and a branch destination at the time of branching.
- Patent Documents 1 to 3 are techniques for determining that a branch instruction has been executed and storing the branch source address or the branch destination address. In any case, these technologies do not target the device at the time of operation, but target the device at the time of debugging. Therefore, when the device at the time of operation is targeted, a new problem described below arises.
- the former is protection against alteration of the original processing result data by the trace processing and protection of the trace processing result data from alteration by the normal processing.
- the trace at the time of debugging has the authority to tamper with the data in order to test the data of the original processing result temporarily, but the trace at the time of operation in the field does not alter the data. There is a problem that needs to be protected because of malfunction.
- An object of the present invention is to provide an information processing apparatus and method capable of solving the above problems and protecting normal processing data and tracing result data.
- the present invention is an information processing apparatus including a controller having a processing unit and a storage unit and an input / output device.
- the processing unit traces the history of the information processing device, Judgment is made whether or not the condition is satisfied, and when the trace condition is satisfied, the mode is changed to the trace mode and the history is saved.
- the processing unit has the read authority for the data and the trace memory area
- An information processing apparatus having a configuration in which only the write authority is provided and the trace memory area is accessible only in the trace mode is provided.
- the present invention provides an information processing apparatus comprising a controller having a processing unit and a storage unit and an input / output device, comprising a tracing controller and a tracing memory, The controller determines whether or not the trace condition is satisfied in order to trace the history of the information processing apparatus, and gives a trace instruction of the trace data stored in the storage unit when the trace condition is satisfied, and An information processing apparatus configured to transfer trace data is provided.
- an information processing method in an information processing apparatus including a controller and an input / output device, wherein the controller is configured to trace a history of the information processing apparatus. Judgment is made whether or not the trace condition to be met is satisfied, and when the trace condition is met, the trace mode is entered, the history is saved, the read right is given to the data, and the write right is given only to the trace memory area.
- An information processing method is provided in which the trace memory area can be accessed only in the trace mode.
- the present invention it is possible to protect normal processing data and trace result data even when the apparatus is operated. Furthermore, by setting the trace conditions, it is possible to save valid data with a small storage capacity.
- FIG. 10 is a flowchart of a trace process in the first embodiment when the trace timing is when a branch instruction is executed or a target IO device is accessed. It is a figure which shows the data flow and data access authority which are required for a trace in a 1st Example. It is a block diagram in the case of using the trace exclusive hardware which is a 2nd Example.
- data protection is executed by shifting to a trace mode having special authority for data at the time of tracing.
- Privilege for trace mode is read access to data in all address areas.
- the write access has authority only for the address area for tracing. Access is prohibited to the memory areas of the user mode and privileged mode, which are the processing modes inherent to the device, and an error occurs if accessed.
- the first narrowing down method is to narrow down the trace data by performing tracing after the possibility of a device failure is high.
- One narrowing condition is what kind of processing the IO device is used in, for example, current and temperature, what kind of processing is performed, and how long it is used, that is, how much load is applied to the IO device. Become.
- the conditions for giving instructions to the IO device may change depending on how the program on the CPU side that gives instructions to the IO device operates after this narrowing condition is established.
- the CPU state such as a program counter (PC) is saved as data on the condition of branching.
- PC program counter
- the time when the IO device is accessed is set as a trace condition. At this time, the hardware state of the IO device and the instruction data to the IO device Trace.
- the first embodiment is an embodiment of an information processing apparatus applied to a remote maintenance system for remotely analyzing the cause when a failure occurs in the apparatus.
- the remote maintenance system is a technique for remotely analyzing the cause when a failure occurs in a device. First, an image of a remote maintenance system configuration relating to the first embodiment will be described with reference to FIG.
- the remote maintenance system includes a system in the controller 104 and a system in the IO device 105. In the following, according to FIG.
- the hardware system in the controller 104 shown in FIG. 2 takes time to control a watch dog timer (WDT) 204 in the IO device 105 around the CPU 200 and the main memory (MEM) 207.
- a timer (TIMER) 209 for measuring the software a timer (TIMER) 209 for measuring the software, a flash (FLASH) 208 for storing the software program and the trace data, an interrupt controller (INTC) 210 for receiving an interrupt from the IO device 105 or the TIMER 209, and communication between them. It consists of an intermediary bus (BUS) 202.
- BUS intermediary bus
- the software system processed by the CPU 200 is a real-time operation system (RTOS) 212 that controls real-time performance, and an application (APPL) 213. that performs various controls through the BUS 202. And a tracer (TRCE) 211 having hardware management authority higher than the RTOS 212 for tracing data.
- RTOS real-time operation system
- API application
- TRCE tracer
- the system in the IO device 105 includes an IO controller (Ctl) 203 that is a control unit for controlling the entire IO device 105, a WDT 204 for monitoring failures of the IO device, IOs 206 such as motors and sensors, and the IO 206. It consists of an input / output controller (IOC) 205 for direct control.
- IOC input / output controller
- the WDT 204 is a timer that advances the time to the limit time until the time is cleared. Clearing is performed by Ctl 203 when receiving an instruction from the CPU 200 and no error has occurred in the IO device 105. If an error occurs at the clear timing, or clearing cannot be performed for some reason and the limit time is exceeded, the exception processing of Ctl203 is started. In this embodiment, the error code is transferred to the CPU 200 as exception processing through the INTC 210, and an error interrupt is started on the CPU 200. The CPU 200 transfers the trace data in the MEM 207 or the internal memory of the CPU 200 to the FLASH 208 as an interrupt process.
- the failure of the IO is mainly targeted. For this reason, if the load on the IO exceeds the limit, for example, the operation time of the IO exceeds the limit time, the possibility that the failure will occur increases. For this reason, as the trace timing 1, the time when the operating time exceeds the upper limit is set as the condition 1. Although the upper limit is not defined here, it is assumed that the value in the MEM 207 is set.
- CPU_ST is information indicating the execution state of the software, and includes a processing mode in user / privileged mode, a low power mode such as sleep / standby, and an exception / interrupt code in the privileged mode.
- PC and CPU_ST are usually stored as registers in the CPU 200.
- IO_ST includes instructions to IO, execution environment such as IO operating time, current, and temperature.
- condition 1 of the trace timing 1 it is necessary to trace the software state and analyze the location of the failure on the program, with the condition from the clearing of the WDT 204 to the next clearing as the condition 2, and the IO It is necessary to trace the hardware status and analyze the cause of the failure.
- the former is executed under condition 3 when a branch instruction is executed to reduce the amount of trace data.
- the trace data is PC (branch instruction and branch destination PC) and CPU_ST.
- the latter is performed under condition 3 when the target IO is accessed.
- the trace data is the PC and IO_ST of the access instruction.
- a trace processing sequence for storing trace data at the trace timing described above will be described with reference to FIG.
- dotted arrows indicate the flow of program execution or control
- solid arrows indicate the flow of trace data.
- time (t) elapses from the upper part to the lower part.
- the trace processing at trace timing 1 is shown at 300.
- the outline will be described, and details of the trace processing 300 will be described later according to the flowchart of FIG.
- condition 1 and condition 2 The time determination of condition 1 and condition 2 is performed at the timing indicated by the two triangles in the trace processing 300. Since the trace uses condition 2 when the WDT 204 is cleared, a timer interrupt is first activated when the timer is cleared by the TIMER 209 in the upper triangle. In this interrupt, the condition 1 is judged whether the IO operation time exceeds the upper limit. Perform with lower triangle. Here, it is assumed that Condition 1 is satisfied.
- the WDT 204 is cleared from the CPU 200 through Ctl 203. Since the IO operation time exceeds the upper limit due to the determination of the lower triangle, the TRACE 211 stores the trace data illustrated in FIG. 4 in the MEM 207 through the CPU 200.
- the trace data is saved as shown in the trace processing 301 when the WDT 204 which is the condition 2 is cleared.
- the trace processing at trace timing 2 is shown at 302.
- a branch instruction is executed in the APPL 213 or RTOS 212 program after the clear timing 1 is established and before the next WDT 204 is cleared (triangle in the trace processing 302), the trace data shown in FIG. To store. Details will be described later with reference to FIG. Similarly, trace processing is performed thereafter when a branch instruction is executed.
- the trace processing at trace timing 3 is shown at 303.
- an access instruction to the target IO is issued after the clear timing 1 is established and before the next WDT 204 is cleared (triangle in the trace processing 303), the trace data shown in FIG. . Thereafter, returning to normal processing, access to the IO is executed. Details of the trace processing will be described later with reference to FIG.
- 304 shows the trace processing when an error occurs at the clear timing. Clearing is instructed from the CPU 200 to the Ctl 203. When an error occurs in the IO device 105 at this time, an error notification is sent to the Ctl 203 through the IOC 205 in advance. In accordance with the error information notified in advance, the Ctl 203 performs error processing as interrupt processing at the CPU 200 through the INTC 210. At this time, the trace data stored so far in the MEM 207 as the trace data is transferred to the FALSE 208.
- 520 is a process in the APPL 213 being executed in the user mode.
- the next clearing time is measured by the TIMER 209.
- a timer interrupt is entered from the TIMER 209, and in 500, a transition is made to the privileged mode to start interrupt processing.
- interrupt processing the following steps are processed. At this time, like the normal interrupt processing, the saving of the register and the transition of the processing mode to the privileged mode are executed by the CPU 200.
- Step 501 Instruct Ctl 203 to clear WDT 204. Specifically, for example, a command is decided between Ctl 203 and a clear command is input to the register of Ctl 203. This step is a normal process that sometimes occurs when there is no trace process.
- Step 502 It is determined whether or not the condition 1 of the trace timing 1 shown in FIG. 4 is satisfied. That is, it is determined whether the IO operation time exceeds the upper limit time.
- the IO operation time is periodically transferred from the Ctl 203 to the MEM 207 as the data of IO_ST shown in FIG. It is assumed that the upper limit time is also stored in the MEM 207 at the initial stage of system operation. If it does not exceed the determination result, the process returns from the interrupt at step 505. If it exceeds, the process transits to the trace mode at step 503 and performs the trace processing.
- Steps 503 and 5031 A transition instruction to exception processing in the trace mode is executed.
- the trace mode requires that all data stored in the user mode or privileged mode be read-accessible in order to trace data. Details of the trace mode will be described later.
- the CPU hardware changes the register saving and the processing mode flag on the register to the trace mode. Since the operation at the time of transition and the necessary hardware configuration are the same as those at the time of transition from the user mode to the privileged mode, the details are omitted here.
- the trace processing from steps 5032 to 5034 will be described below.
- Step 5032 Since the data is traced at the trace timings 2 and 3, the permission flag is turned on so that automatic transition to the trace mode can be performed under the trace condition 3 thereafter. This flag is provided in a bit of any register of CPU_ST described in FIG.
- Step 5033 According to FIG. 4, the trace data in the case of the trace timing 1 is read from the CPU register and the memory and stored in the trace memory area.
- Steps 5034 and 5035 Return from the trace mode to the privileged mode by an instruction. At this time, the register saved in 5031 is recovered by the CPU hardware. That is, a data flow opposite to the transition occurs.
- Steps 504 and 505 Return from the privileged mode to the user mode by an instruction. At this time, the register saved at 520 is restored by the CPU hardware. Similar to 520, the description is omitted in the operation performed by a normal CPU.
- Reference numeral 520 denotes a process in the APPL 213 being executed in the user mode as in FIG. Since the trace processing is performed after the trace processing is performed at the trace timing 1, the condition 1 in FIG. 4 is satisfied, and the transition permission flag to the trace mode is turned on in step 5032 in FIG. For this reason, when the CPU hardware detects the execution of the branch instruction or the target IO access instruction at 603, the process transits to exception processing in the trace mode at 600 during the instruction execution. At this time, at the time of transition in 5031, the CPU hardware changes the register saving and the processing mode flag on the register to the trace mode.
- the branch instruction execution is detected in the instruction decode phase of the instruction execution process in the kernel of the CPU 200.
- the target IO access is detected by determining that the access destination is the address of the target IO in the memory access phase on the premise of the current mainstream memory mapped IO.
- the method of determining the condition and realizing the process in the middle of the instruction execution process is a known technique that is conventionally performed even when the exception process is performed.
- only a few registers are required to determine whether the memory access destination addresses match. The details are omitted here.
- Each processing step after transition at 600 is the same as 5033 and 5034 in FIG. 5 and is omitted here.
- the trace objects are PC, CPU_ST, and IO_ST described in FIG.
- the PC and CPU_ST, 700 are registers of the CPU and are accessed in the privileged mode, and the IO_ST 702 is in the memory area 701 and is important data relating to the IO environment. It is desirable to do.
- IO_ST 702 is periodically updated from the IO device 105.
- the data read authority Since the trace process must be able to read all of this information, the data read authority must be higher than the privileged mode.
- the data in the register group 700 of the PC and CPU_ST is transferred to the trace memory area 703.
- the data of IO_ST 702 is also transferred to 703.
- the data access authority for the above trace processing requires the write authority.
- the write authority to the memory area for normal processing is not given, and the write authority is given only to the trace memory area 703. Further, in order to prevent the data in the trace memory area 703 from being tampered with, normal processing in the user mode and the privilege mode does not have an access authority.
- authority checks can be performed during the memory access process of the CPU kernel in the same manner as the detection of the target IO access.
- the mechanism for checking the access destination according to the authority is a process that is also performed in the conventional CPU only in the privileged mode and the user mode, and it is only necessary to check the bit indicating the mode being executed against the access destination. Details are omitted.
- the first embodiment described above has a problem that the performance overhead due to the trace processing is large.
- the trace timing 1 since the IO operation time exceeds the upper limit and only the clear timing of the WDT 204, the frequency is low and the overhead is not a serious problem.
- the traces at the trace timing 2 and the trace timing 3 are at the time of branch instruction execution or IO access, the frequency is high and overhead reduction is necessary.
- the first is the overhead of setting the status register such as saving the CPU register and changing the mode, which occurs when transitioning to exception handling in the trace mode.
- This overhead is usually solved by CPU hardware or by using a shadow register, and this patent is premised on this, so a solution is not discussed here.
- One of the remaining two is the overhead caused by this disturbance because the original processing pipeline is disturbed because the processing transitions to exception processing in the middle of the pipeline processing and returns after the processing is completed during execution of the original processing instruction. is there. Then the last is the trace exception handling time overhead.
- a dedicated circuit 806 and a signal line group 807 surrounded by a dotted line are dedicated hardware parts newly added. Further, only the kernel part (CPU_Ker) 800 and the register group 801 to be traced, which are parts related to tracing in the internal configuration of the CPU 200, are specified, and other configurations are omitted. The movement of dedicated hardware is described below.
- the CPU_Ker 800 When the condition 3 in FIG. 4 is established, the CPU_Ker 800 outputs a trace instruction to the TRAC_Ctl 804 through the signal line group 807 and simultaneously with the output of data indicating which type of trace in FIG. As a result, the TRAC_Ctl 804 transfers the data in the register group 801 to the trace memory (TRAC_MEM) 805 via the signal line group 807, or transfers the IO_ST data in the MEM 207 to the TRAC_MEM 805 via the BUS 803 and BUS 202. .
- the trace memory TRAC_MEM
- the present invention is a technology effective for improving maintainability suitable for industrial equipment such as factory automation (FA) and medical equipment in which reliability of equipment is an important customer value.
- FA factory automation
- the present invention is most suitable for remote maintenance when a failure occurs when a device is operating outside the country, specifically for cause analysis.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
稼動中の情報処理装置におけるデータトレースにおいて、トレース用データと通常処理データの保護と、トレースデータ量削減を図る。ステップ502においてトレース条件が成立したときに、トレースモードへ遷移し、ステップ5033で通常稼動の処理モードで作成したデータをリードし、トレース用メモリ領域に保存し、その後通常の処理モードへ復帰する。トレースモードは全てのデータへのリード権限を持つが、トレース用メモリ領域へのみのライト権限しか持たず、通常モードはトレース用メモリ領域へのアクセス権限は保持しない。ステップ502におけるトレース条件は、IO装置の障害に対しては、IO装置の稼動時間が指定された上限時間をこえたときとし、この条件が成立して以降は、プログラムトレースのために分岐命令実行時、IO装置へのアクセス命令実行時とする。
Description
本発明は、情報処理装置の中で、入出力装置などの中央処理装置の外部装置の障害を解析するためのデータを、中央処理装置で時系列にトレースするための情報処理技術に係わる。
近年グローバル化の影響で、国外にある制御装置などのシステム保守を実施するため、装置に障害が起こった時に、遠隔から原因解析をすることが必要となってきており、稼動中の装置のデータのトレースを、より詳細なデータに対して実施することが必要となってきた。
従来このような解析用にデータをトレースする技術として、装置出荷前にデバッグのために、データをトレースする技術がある。このとき、できるだけトレースデータを絞込み、有効なデータを保存するための種々の技術がある。例えば、分岐トレース技術であるが、この分岐トレース技術は、分岐時の分岐元と分岐先の、通常プログラムカウンタと呼ばれているプログラムアドレスをトレースするものである。
データをトレースする技術は、デバッグのために行うものと、トレースデータを絞り込むためのものがあるが、分岐トレース技術は、デバッグ時に適用されるものであり、両者の性格を持っている。この分岐トレース技術に関する参考文献として、特許文献1~3が挙げられる。
特許文献1~3はいずれも、分岐命令が実行されたことを判定して、分岐元アドレスか分岐先アドレスを保存しておく技術である。これらの技術は、いずれにしろ、稼動時の装置を対象とせず、デバッグ時の装置を対象としているため、稼動時の装置を対象とすると、以下に説明する新たな課題が生ずる。
すなわち、装置本来の処理とトレース処理の間のデータ保護と、デバッグと異なり、データの保存先である不揮発性記憶素子等の利用が、面積とコストにより制約を受けるため、データの絞込みがさらに必要となるという課題である。
前者は、装置本来の処理結果のデータがトレース処理による改ざんされることへの保護と、トレース処理結果のデータが通常処理により改ざんされることへの保護である。デバッグ時のトレースは、本来の処理結果のデータを一時的に変更してテストするために、データを改ざんする権限が与えられているが、フィールドでの稼動時でのトレースでは、データの改ざんは誤動作になるため、保護しなければならない課題がある。
本発明の目的は、上記の課題を解決し、通常処理のデータの保護やトレース結果のデータを保護することが可能な情報処理装置、及びその方法を提供するにある。
本発明は、上記目的を達成するため、処理部と記憶部を備えたコントローラと入出力装置で構成される情報処理装置であって、処理部は、情報処理装置の履歴をトレースするため、トレース条件が成立したか否かを判断し、トレース条件成立時にトレースモードに遷移して履歴を保存し、処理部は、トレースモードでは、データに対してリード権限を持ち、トレース用メモリ領域に対してのみライト権限を持ち、トレース用メモリ領域はトレースモードでのみアクセス可能である構成の情報処理装置を提供する。
また、本発明は、上記目的を達成するために、処理部と記憶部を備えたコントローラと入出力装置で構成される情報処理装置であって、トレース用コントローラとトレース用メモリを備え、トレース用コントローラは、情報処理装置の履歴をトレースするために、トレース条件が成立したか否かを判断し、トレース条件成立時に、記憶部に格納されたトレースデータのトレース指示を与え、トレース用メモリへ当該トレースデータを転送する構成の情報処理装置を提供する。
更に、上記の目的を達成するため、本発明においては、コントローラと入出力装置で構成される情報処理装置における情報処理方法であって、コントローラは、情報処理装置の履歴をトレースするために、トレースすべきトレース条件が成立したか否かを判断し、トレース条件成立時にトレースモードに遷移して履歴を保存し、データに対してリード権限を持ち、トレース用メモリ領域に対してのみライト権限を持ち、トレース用メモリ領域を、当該トレースモードでのみアクセス可能である情報処理方法を提供する。
本発明により、装置を稼動したときにも、通常処理のデータの保護やトレース結果のデータを保護することが可能となる。さらに、トレース条件を設定することにより、少ない記憶容量で有効なデータを保存することが可能となる。
本発明の好適な態様を概説すると、まず、データ保護は、トレース時にはデータについて特別な権限を有するトレースモードへ遷移して、実行する。
トレースモードの権限は、全てのアドレス領域のデータに対してリードアクセスは可能である。これに対して、ライトアクセスは、トレース用のアドレス領域に対してのみ権限を有する。装置本来の処理モードである、ユーザモードと特権モードのメモリ領域に対しては,アクセスは禁止され、アクセスした場合は、エラーとなる。
次に、本発明の好適な態様におけるトレースデータの絞込みについて述べると、中央処理ユニット(Central Processing Unit:CPU)の外部の入出力(Input/Output:IO)装置の故障を対象としているため、IO装置の障害の可能性が高くなってからトレースを行うことで、トレースデータを絞り込むことが一つ目の絞込み方法である。IO装置は、どのような実行環境、例えば電流、温度で、どのような処理をさせ、どの程度の稼動時間の間利用しているか、即ちIO装置にどれくらいの負荷を掛けたかが一つの絞込み条件となる。
さらに、この絞込み条件が成立して以降、IO装置に指示を与えるCPU側のプログラムがどのように動作したかで、IO装置への指示を与える条件が変化する可能性があるので、ソフト状態の変化をトレースするために、分岐時を条件として、プログラムカウンタ(Program Counter:PC)などのCPU状態をデータとして保存する。
最後に、IO装置利用されるときに、IO装置の負荷が変化するため、IO装置にアクセスをかけたときをトレース条件として、このときに、IO装置のハード状態と、IO装置への指示データをトレースする。
以下、本発明による代表的な実施例を図面に従って詳細に説明する。なお、以下においては、同じ参照番号、記号は同じものもしくは類似のものを表わすものとする。
第1の実施例は、装置に障害が起こった時に、遠隔から原因解析をするための遠隔保守システムに適用した情報処理装置の実施例である。
1.遠隔保守のシステム構成
遠隔保守システムは、装置に障害が起こった時に、遠隔から原因解析をするための技術である。そこで、まず、第1の実施例に関する遠隔保守のシステム構成のイメージを図1に従って説明する。
遠隔保守システムは、装置に障害が起こった時に、遠隔から原因解析をするための技術である。そこで、まず、第1の実施例に関する遠隔保守のシステム構成のイメージを図1に従って説明する。
図1に示すように、遠隔保守では、遠隔に設置された保守サイト100から、稼動中のフィールドサイト102内のモータなどを制御するコントローラ104に障害が起こった時に、広域ネットワーク101を通して原因解析を行い、原因に基づき障害対策を行う。この原因解析を遠隔から実施できるように、コントローラ104内にある記憶素子106内にあらかじめ状態履歴をトレースして詳細に保存しておく。本実施例では特に入出力装置(Input/Output:IO)105の障害を対象とするため、状態にはIO装置のハード状態も含む。
このようにフィールドで稼動時のIO装置に対してデータをトレースするためには、前述した二つの課題、装置本来の処理との間のデータ保護と、トレースデータの絞込みとを解決する必要がある。前者は、装置本来の処理結果のデータがトレース処理により改ざんされることへの保護と、トレース処理結果のデータが通常処理により改ざんされることへの保護である。
以上で述べた課題を解決するための、実施例1におけるトレースの対象となるシステム構成とトレース手段を、以下で順次述べる。
2.トレース対象のシステム構成
本実施例に係わる遠隔保守システムはコントローラ104内のシステムと、IO装置105内のシステムからなる。図2に従って、以下で述べる。
本実施例に係わる遠隔保守システムはコントローラ104内のシステムと、IO装置105内のシステムからなる。図2に従って、以下で述べる。
まず、図2に示すコントローラ104内のハードシステムは、CPU200と主記憶(Memory:MEM)207を中心に、IO装置105内のウォッチドッグタイマ(Watch Dog Timer:WDT)204を制御するために時間を計測するタイマ(TIMER)209、ソフトウェアプログラムとトレースデータを格納するフラッシュ(FLASH)208、IO装置105やTIMER209からの割込みを受付ける割り込みコントローラ(Intrrupt Controller:INTC)210、およびこれらの間の通信を媒介するバス(BUS)202からなる。
CPU200で処理するソフトウェアシステムは、リアルタイム性を制御するリアルタイムオペレーションシステム(Real Time Operation System:RTOS)212、BUS202を通して各種制御を行うアプリケーション(Application:APPL)213.およびデータのトレースを行うRTOS212よりハード管理の権限が上位にあるトレーサ(Tracer:TRCE)211からなる。
次に、IO装置105内のシステムは、IO装置105全体を制御する制御部であるIOコントローラ(Ctl)203,IO装置の障害を監視するためのWDT204,モータやセンサなどのIO206、およびIO206を直接制御する入出力コントローラ(IOC)205からなる。
IO装置105内でトレースに関連するWDT204とCtl203の関連処理を述べておく。WDT204は、時間をクリアするまでは限界時間まで時間を進めるタイマである。クリアは、CPU200からの指示を受け、IO装置105内でエラーを起こってない時にCtl203が実施する。クリアタイミングでエラーが起こっているか、または何らかの理由でクリアが実施できず限界時間を超えると、Ctl203の例外処理を起動する。本実施例では、INTC210を通して,例外処理としてエラーコードをCPU200へ転送し,CPU200上でエラー用割込みを起動する。CPU200は割込み処理として、MEM207内またはCPU200の内蔵メモリ内のトレースデータをFLASH208へ転送する。
3.トレース処理のシーケンス
ここでは、上記で述べたトレース対象のシステムに対して実施するトレースのシーケンスを図3と図4に従って、以下で述べる。
ここでは、上記で述べたトレース対象のシステムに対して実施するトレースのシーケンスを図3と図4に従って、以下で述べる。
3.1 トレースタイミングとトレースデータ
まず、図4を用いて、トレースによりデータをMEM207内またはCPU200の内蔵メモリへ転送するトレースタイミングとトレースデータを説明する。
まず、図4を用いて、トレースによりデータをMEM207内またはCPU200の内蔵メモリへ転送するトレースタイミングとトレースデータを説明する。
本実施例では、主にIOの障害を対象としており、このため、IOの稼働時間が限界時間を超えるなど、IOへの負荷が限界を超えると障害が起こる可能性が高まる。このため、トレースタイミング1として、稼働時間が上限を超えた時を条件1とする。上限についてはここでは定めないが、MEM207内のその値が設定されているものとする。
この上限を超えた時には、WDT204のクリア時を条件2として、ソフト状態として、プログラムカウンタPCとCPU200の状態CPU_ST(CPU Status)、およびIO206の負荷を示す実行状態として、IO_ST(IO Status)をトレースデータとしてMEM207に格納する。ここで、CPU_STとは、ソフトの実行状態を示す情報で、ユーザ/特権 モードの処理モード、スリープ/スタンバイなどの低電力モード、特権モードの場合は例外/割込みコードなどがある。PCとCPU_STは、通常CPU200内のレジスタとして保存されている。IO_STとしては、IOへの指示、IO稼動時間、電流、温度などの実行環境などがある。
次に、トレースタイミング1の条件1内で、WDT204のクリア後の次回のクリアまでの期間を条件2として、ソフトウェア状態をトレースしてプログラム上での障害発生箇所を解析する必要があり、かつIOハードウェア状態をトレースして障害原因を解析する必要がある。前者は、分岐命令実行時を条件3として実施してトレースデータ量を減らす。トレースデータはPC(分岐命令と分岐先のPC)とCPU_STである。後者は、対象IOアクセス時を条件3として実施する。トレースデータはアクセス命令のPCとIO_STである。
3.2 トレース処理のシーケンス
以上で述べたトレースタイミングにトレースデータを保存するトレース処理のシーケンスを図3に従って述べる。図3において、点線の矢印はプログラムの実行または制御の流れを示し、実線の矢印はトレースデータの流れを示す。同図において、上部から下部に向かって時間(t)が経過する。
以上で述べたトレースタイミングにトレースデータを保存するトレース処理のシーケンスを図3に従って述べる。図3において、点線の矢印はプログラムの実行または制御の流れを示し、実線の矢印はトレースデータの流れを示す。同図において、上部から下部に向かって時間(t)が経過する。
まず、トレースタイミング1でのトレース処理を300に示す。ここでは概略のみ述べ、トレース処理300の詳細は図5のフローチャートに従い後述する。
条件1と条件2の時間判定をトレース処理300内の二つの三角形で示すタイミングで行う。トレースはWDT204のクリア時を条件2とするため、最初に上の三角形でTIMER209によりクリア時にタイマ割込みが起動され、この割込みの中で、IO稼動時間が上限を超えたかどうかの条件1の判定を下の三角形で実施する。ここでは条件1が成立しているとする。
上の三角形の判定により、クリアタイミングであると判定されるため、CPU200からCtl203を通して、WDT204をクリアする。下の三角形の判定により、IO稼動時間が上限を超えたため、TRACE211が、CPU200を通して、図4に示すトレースデータをMEM207に格納する。
以降は、トレースタイミングの条件1は成り立つため、条件2であるWDT204のクリア時に、トレース処理301に示すように、トレースデータを保存する。
次に、トレースタイミング2でのトレース処理を302に示す。クリアタイミング1が成立して以降、次回のWDT204をクリアまでの間に、APPL213またはRTOS212のプログラム中で分岐命令が実行されたとき(トレース処理302内の三角形)、図4に示すトレースデータをMEM207に格納する。詳細は図6に従い後述する。同様にして、以降、分岐命令実行時にトレース処理を実施する。
第三番目に、トレースタイミング3でのトレース処理を303に示す。クリアタイミング1が成立して以降、次回のWDT204をクリアまでの間に、対象IOへのアクセス命令が発行されたとき(トレース処理303内の三角形)、図4に示すトレースデータをMEM207に格納する。その後、通常処理に戻りIOへのアクセスが実行される。トレース処理の詳細は、トレースタイミング2と一緒に図6に従い後述する。
最後に、クリアタイミングでエラーが起こっている場合のトレース処理を304に示す。クリアがCPU200からCtl203に指示されるが、この時IO装置105内でエラーが起こっている時には、事前にIOC205を通してCtl203にエラー通知が行われている。この事前通知されているエラー情報に従って、Ctl203は、INTC210を通して、CPU200で割込み処理としてエラー処理を行う。このとき、これまでトレースデータとしてMEM207に格納されているトレースデータをFALSH208に転送する。
4.トレースタイミング1でのトレース処理
トレースタイミング1でのトレース処理300の詳細フローを図5に従い述べる。
トレースタイミング1でのトレース処理300の詳細フローを図5に従い述べる。
520はユーザモードで実行中のAPPL213の中の一処理である。CPU200からWDT204へのクリアを指示するため、TIMER209により次回のクリア時間を計測しており、クリア時間になるとTIMER209からタイマ割込みが入り、500で特権モードへ遷移して割込み処理を起動する。
割込み処理では、以下のステップを処理する。このとき、通常の割込み処理と同様にレジスタの退避や処理モードの特権モードへの遷移などがCPU200により実行されるが、通常と同様であるので割愛する。
ステップ501:WDT204のクリアをCtl203に指示する。具体的には、例えばCtl203の間でコマンドを取り決め、クリアコマンドをCtl203のレジスタに入力する。本ステップは、トレース処理がないときにもある通常の処理である。
ステップ502:図4に示すトレースタイミング1の条件1を満たすかどうかを判定する。即ち、IO稼動時間が上限時間を超えるかどうかを判定する。ここで、IO稼動時間は、図4で示すIO_STのデータとして、MEM207にCtl203から定期的に転送されている。上限時間はシステム稼動初期にやはりMEM207に格納されているとする。
判定結果、超えてない場合は、ステップ505で割込みから復帰し、超えている場合は、ステップ503でトレースモードへ遷移してトレース処理を行う。
判定結果、超えてない場合は、ステップ505で割込みから復帰し、超えている場合は、ステップ503でトレースモードへ遷移してトレース処理を行う。
ステップ503と5031:トレースモードでの例外処理への遷移命令を実行する。トレースモードは、データをトレースするために、ユーザモードまたは特権モードで格納した全てのデータへリードアクセス可能であることが必要となる。トレースモードの詳細は後述する。
5031での遷移時に、CPUハードによりレジスタの退避やレジスタ上の処理モードフラグをトレースモードへ変更する。この遷移時の動作や必要なハード構成は、ユーザモードから特権モードへの遷移時と同様であるので、ここでは詳細は割愛する。
以下でステップ5032から5034のトレース処理を述べる。
以下でステップ5032から5034のトレース処理を述べる。
ステップ5032:トレースタイミング2と3でデータをトレースするため、以降、トレース条件3でトレースモードへ自動遷移が可能となるように許可フラグをonする。このフラグは図4で述べたCPU_STのいずれかのレジスタのビットに装備してある。
ステップ5033:図4に従い、トレースタイミング1の場合のトレースデータをCPUレジスタとメモリから読み出し、トレース用メモリ領域に格納する。
ステップ5034と5035:トレースモードから特権モードへ命令により復帰する。このとき5031で退避したレジスタがCPUハードにより回復される。即ち、遷移と逆のデータフローが起こる。
ステップ504と505:特権モードからユーザモードへ命令により復帰する。このとき520で退避したレジスタが、CPUハードにより回復される。520と同じく通常のCPUで行われている動作で割愛する。
5.トレースタイミング2と3でのトレース処理
図6に従い、本実施例における、トレースタイミング2と3でのトレース処理、図3の302と303の処理フローを説明する。
図6に従い、本実施例における、トレースタイミング2と3でのトレース処理、図3の302と303の処理フローを説明する。
520は図5と同様にユーザモードで実行中のAPPL213の中の一処理である。
トレースタイミング1でトレース処理が実施されて以降であるため、図4の条件1は成立しており、図5のステップ5032でトレースモードへの遷移許可フラグはonとなっている。このため、603で分岐命令、または対象IOアクセス命令の実行をCPUハードで検知すると、命令実行途中に600でトレースモードの例外処理へ遷移する。この時、5031での遷移時に、CPUハードによりレジスタの退避やレジスタ上の処理モードフラグをトレースモードへ変更する。
トレースタイミング1でトレース処理が実施されて以降であるため、図4の条件1は成立しており、図5のステップ5032でトレースモードへの遷移許可フラグはonとなっている。このため、603で分岐命令、または対象IOアクセス命令の実行をCPUハードで検知すると、命令実行途中に600でトレースモードの例外処理へ遷移する。この時、5031での遷移時に、CPUハードによりレジスタの退避やレジスタ上の処理モードフラグをトレースモードへ変更する。
ここで、分岐命令実行の検知は、CPU200のカーネル中の命令実行処理の命令デコードフェーズで実施する。対象IOアクセスの検知は、現在主流のメモリマップドIOを前提として、メモリアクセスフェーズでアクセス先が対象IOのアドレスであることを判定して検知する。このように命令実行処理の途中において、条件を判断して処理を実現する方法は、従来、例外処理を実施するときにも行われている公知の技術である。他の構成としては、メモリアクセス先アドレスの一致を判定するために、幾つかのレジスタが必要となるのみである。ここでは詳細は割愛する
上記2種類の検知後は、いずれも図6の処理フローに従う。600で遷移後の各処理ステップは、図5の5033と5034と同様であり、ここでは割愛する。
上記2種類の検知後は、いずれも図6の処理フローに従う。600で遷移後の各処理ステップは、図5の5033と5034と同様であり、ここでは割愛する。
6.トレースモードで必要となるデータアクセス権限とデータフロー ここでは、図7に従い、トレースモードで必要となるデータアクセス権限とデータフローを述べる。
トレース対象は、図4で述べたPC,CPU_ST,およびIO_STである。このうち、PCとCPU_ST、700はCPUのレジスタであり特権モードでアクセスする対象であり、IO_ST702はメモリ領域701内にあり、IO環境に関する重要なデータであるため、やはり特権モードでのアクセス対象とすることが望ましい。ここで、IO_ST702は定期的にIO装置105から更新される。
トレース処理は、これらの情報を全てリードできなければならないため、データリード権限については特権モードより上位でなければならない。
この権限により、トレース処理では、PC,CPU_STのレジスタ群700のデータはトレース用メモリ領域703へ転送する。IO_ST702のデータも703へ転送する。
また、トレース処理では、障害が起こったときに、703のデータを全てFLASH208へ転送して、遠隔解析に備える。
上記のトレース処理のデータアクセス権限で注意を要するのは、ライト権限である。トレース処理が誤って他のモードのデータを改ざんしないように、通常処理のメモリ領域へのライト権限は与えず、トレース用メモリ領域703に対してのみライト権限を与える。また、トレース用メモリ領域703のデータも改ざんを受けないように、ユーザモードと特権モードの通常処理はアクセス権限を設けない。
これらの権限のチェックは、対象IOアクセスの検知と同様にして、CPUカーネルのメモリアクセス処理のときに実施できる。権限によりアクセス先をチェックする機構は、特権モードとユーザモードのみの従来CPUでも実施されていた処理であり、実行中のモードを示すビットとアクセス先を照らし合わせてチェックするだけでよい。詳細は割愛する。
以上説明した実施例1では、トレース処理による性能オーバヘッドが大きいという問題がある。
トレースタイミング1は、IO稼働時間が上限を超えて、かつWDT204のクリアタイミングのみであるため、頻度は少なく、オーバヘッドもさほど大きな問題とはならない。しかし、トレースタイミング2とトレースタイミング3でのトレースは、分岐命令実行時やIOアクセス時であるため、頻度は多くオーバヘッド削減は必要となる。
トレースタイミング1は、IO稼働時間が上限を超えて、かつWDT204のクリアタイミングのみであるため、頻度は少なく、オーバヘッドもさほど大きな問題とはならない。しかし、トレースタイミング2とトレースタイミング3でのトレースは、分岐命令実行時やIOアクセス時であるため、頻度は多くオーバヘッド削減は必要となる。
トレース処理のオーバヘッドは主に3つある。
一つ目は、トレースモードの例外処理へ遷移する時に生じる、CPUレジスタの退避とモード変更など状態レジスタの設定のオーバヘッドである。このオーバヘッドは通常CPUのハードで実施するか、シャドウレジスタを利用することにより解決しており、本特許もこれを前提としているため、ここでは解決策を論じない。
一つ目は、トレースモードの例外処理へ遷移する時に生じる、CPUレジスタの退避とモード変更など状態レジスタの設定のオーバヘッドである。このオーバヘッドは通常CPUのハードで実施するか、シャドウレジスタを利用することにより解決しており、本特許もこれを前提としているため、ここでは解決策を論じない。
残り二つのうちの一つは、本来処理の命令実行時、パイプライン処理の途中で例外処理に遷移して処理終了後に復帰するため、本来処理のパイプラインは乱される、この乱れによるオーバヘッドである。それから、最後はトレース例外処理時間のオーバヘッドである。
第2の実施例として、このオーバヘッドに対する解決策を説明する。トレース用の例外処理へ遷移する代わりに、専用ハードで直接、トレース用メモリ領域703へのデータ転送を行う。高価となるが、オーバヘッドは全くなくなる。
すなわち、第2の実施例は、専用ハードによるトレース処理方法である。図8のハード構成図に従い、以下2の実施例について説明する。
すなわち、第2の実施例は、専用ハードによるトレース処理方法である。図8のハード構成図に従い、以下2の実施例について説明する。
図8で、点線で囲まれた専用回路806と信号線群807が新たに追加する専用ハード部分である。また、CPU200の内部構成でトレースに関連する部分である、カーネル部(CPU_Ker)800と、トレース対象のレジスタ群801、のみを明記し、他の構成は省略した。以下に専用ハードの動きを述べる。
図4の条件3が成立した時に、CPU_Ker800からTRAC_Ctl804に、信号線群807を介して、図4のどのタイプのトレースかを示すデータの出力と同時に、トレース指示を出す。これによりTRAC_Ctl804は、レジスタ群801のデータを,信号線群807を介して,トレース用メモリ(TRAC_MEM)805に転送するか、またBUS803とBUS202を介してMEM207内のIO_STのデータをTRAC_MEM805に転送する。
上記の動作をCPU_Ker800による命令実行の動作と並行で実施するために、オーバヘッドはなくなる。残ったオーバヘッドは、BUS803とBUS202を本来の処理と共有している点であるが、従来処理のバス転送の優先順位を上げてトレース用データ転送は間隙をぬって転送したり、MEM207を2ポートメモリにして専用バスを設けるなど、アーキテクチャの公知技術を使った改善方法はあるが、ここでは命令実行との並行トレースを主要技術として提示するため、説明を割愛する。
なお、以上本発明の幾つかの実施例について説明してきたが、これらの実施例は、本発明を分かりやすく説明するために説明したのであり、本発明を実現するための一具体例に過ぎず、また、本発明は必ずしも上述した実施例の全ての構成を備えるものに限定されものではない。
本発明は、機器の信頼性が重要な顧客価値となるファクトリオートメーション(FA)や医療装置などの産業系機器に好適な保守性向上に有効な技術である。特に、国外で機器が稼動時に障害が発生したときの遠隔保守、具体的には原因解析のために最適である。
100 保守サイト
102 フィールドサイト
104 コントローラ
105 入出力(IO)装置
106 記憶素子
200 中央処理ユニット(CPU)
202 CPU外部バス
203 IOコントローラ(Ctl)
204 ウォッチドッグタイマ(WDT)
206 IO装置
207 主記憶メモリ(MEM)
208 フラッシュ(FLASH)
209 タイマ(TIMER)
210 割り込みコントローラ(INTC)
211 トレーサ(TRCE)
212 リアルタイムOS(RTOS)
213 アプリケーション(APPL)
300 トレースタイミング1でのトレースのシーケンス
302 トレースタイミング2でのトレースシーケンス
303 トレースタイミング3でのトレースシーケンス
701 メモリ領域
702 IO_ST
703 トレース用メモリ領域
800 カーネル部(CPU_Ker)
801 トレース対象のレジスタ群
803 コントローラ内部BUS
804 トレース用専用コントローラ
805 トレース用メモリ(TRAC_MEM)
806 専用回路
807 信号線群。
102 フィールドサイト
104 コントローラ
105 入出力(IO)装置
106 記憶素子
200 中央処理ユニット(CPU)
202 CPU外部バス
203 IOコントローラ(Ctl)
204 ウォッチドッグタイマ(WDT)
206 IO装置
207 主記憶メモリ(MEM)
208 フラッシュ(FLASH)
209 タイマ(TIMER)
210 割り込みコントローラ(INTC)
211 トレーサ(TRCE)
212 リアルタイムOS(RTOS)
213 アプリケーション(APPL)
300 トレースタイミング1でのトレースのシーケンス
302 トレースタイミング2でのトレースシーケンス
303 トレースタイミング3でのトレースシーケンス
701 メモリ領域
702 IO_ST
703 トレース用メモリ領域
800 カーネル部(CPU_Ker)
801 トレース対象のレジスタ群
803 コントローラ内部BUS
804 トレース用専用コントローラ
805 トレース用メモリ(TRAC_MEM)
806 専用回路
807 信号線群。
Claims (20)
- 処理部と記憶部を備えたコントローラと入出力(以下、IO)装置で構成される情報処理装置であって、
前記処理部は、
前記情報処理装置の履歴をトレースするために、トレースすべきトレース条件が成立したか否かを判断し、
前記トレース条件の成立時にトレースモードに遷移して履歴を保存し、
前記処理部は、
データに対してリード権限を持ち、トレース用メモリ領域に対してのみライト権限を持ち、前記トレース用メモリ領域は、前記トレースモードでのみアクセス可能である、
ことを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記処理部は、
前記トレース条件が成立したか否かを判断するため、前記IO装置の累積稼働時間が前記IO装置の限界時間を超えた条件(以下、条件1)が成立したか否かを判定し、前記条件1の成立時に前記情報処理装置の履歴を保存する
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記処理部は、
前記条件1が成立して以後、プログラム実行中に分岐命令の実行を検出した時に、前記情報処理装置の履歴を保存する
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記処理部は、
前記条件1が成立して以後、プログラム実行中に,前記IO装置へのリードライトアクセス命令の実行を検出した時に、前記情報処理装置の履歴を保存する
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記IO装置は、
ウォッチドックタイマ(以下、WDT)とIO制御部(以下、CTL)を含み、
前記処理部は、
前記WDTのクリアを、前回のクリアタイミングから一定時間経過後に、前記CTLに指示して行うと共に、
前記条件1の成立判定は、前記WDTのクリアを行うタイマ割込み処理の中で実施する
ことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
保存する前記情報処理装置の履歴についてのデータは、前記コントローラ内部のプログラムカウンタ、または前記処理部のCPU状態、または前記IO装置の実行環境の情報である
ことを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置であって、
保存する前記情報処理装置の履歴についてのデータは、分岐前と分岐先のプログラムカウンタ、または前記処理部のCPU状態である
ことを特徴とする情報処理装置。 - 請求項4に記載の情報処理装置であって、
保存する前記情報処理装置の履歴についてのデータは、リードライトアクセス命令のプログラムカウンタ、または前記IO装置の実行環境の情報である
ことを特徴とする情報処理装置。 - 請求項4に記載の情報処理装置であって、
前記IO装置はメモリマップドIOであり、
前記IO装置へのリードライトアクセス命令の実行の検出は、前記IO装置のレジスタが登録されているメモリアドレスへのリードライト命令である
ことを特徴とする情報処理装置。 - 請求項1記載の情報処理装置であって、
前記記憶部は不揮発性記憶素子を含み、
前記処理部は、
前記IO装置で障害が検出されたときに、前記トレースモードの割込み処理に遷移して、前記割込み処理で前記トレース用メモリ領域の内容を、前記不揮発性記憶素子に転送する
ことを特徴とする情報処理装置。 - コントローラとIO装置で構成される情報処理装置であって、
前記コントローラとは異なるトレース用コントローラとトレース用メモリを備え、
前記トレース用コントローラは、
前記情報処理装置の履歴をトレースするために、トレース条件の成立可否を判断し、
前記トレース条件の成立時に、前記記憶部に格納されたトレースデータのトレース指示を与え、前記トレース用メモリへ前記トレースデータを転送する
ことを特徴とするデータトレース用の情報処理装置。 - コントローラとIO装置で構成される情報処理装置における情報処理方法であって、
前記コントローラは、
前記情報処理装置の履歴をトレースするために、トレースすべきトレース条件が成立したか否かを判断し、
該トレース条件成立時にトレースモードに遷移して履歴を保存し、
データに対してリード権限を持ち、トレース用メモリ領域に対してのみライト権限を持ち、前記トレース用メモリ領域を、前記トレースモードでのみアクセス可能である、
ことを特徴とする情報処理方法。 - 請求項12に記載の情報処理方法であって、
前記コントローラは、
前記トレース条件が成立したか否かを判断するため、前記IO装置の累積稼働時間が前記IO装置の限界時間を超えた条件(以下、条件1)が成立したか否かを判定し、前記条件1の成立時に前記情報処理装置の履歴を前記記憶部に保存する
ことを特徴とする情報処理方法。 - 請求項13に記載の情報処理方法であって、
前記コントローラは、
前記条件1が成立して以後、プログラム実行中に分岐命令の実行を検出した時に、前記情報処理装置の履歴を保存する
ことを特徴とする情報処理方法。 - 請求項13に記載の情報処理方法であって、
前記コントローラは、
前記条件1が成立して以後、プログラム実行中に,前記IO装置へのリードライトアクセス命令の実行を検出した時に、前記情報処理装置の履歴を保存する
ことを特徴とする情報処理方法。 - 請求項13に記載の情報処理方法であって、
保存する前記情報処理装置の履歴についてのデータは、前記コントローラ内部のプログラムカウンタ、または前記コントローラ内部のCPU状態、または前記IO装置の実行環境の情報である
ことを特徴とする情報処理方法。 - 請求項14に記載の情報処理方法であって、
保存する前記情報処理装置の履歴についてのデータは、分岐前と分岐先のプログラムカウンタ、または前記コントローラ内部のCPU状態である
ことを特徴とする情報処理方法。 - 請求項15に記載の情報処理方法であって、
保存する前記情報処理装置の履歴についてのデータは、リードライトアクセス命令のプログラムカウンタ、または前記IO装置の実行環境の情報である
ことを特徴とする情報処理方法。 - 請求項15に記載の情報処理方法であって、
前記IO装置はメモリマップドIOであり、
前記IO装置へのリードライトアクセス命令の実行の検出は、前記IO装置のレジスタが登録されているメモリアドレスへのリードライト命令である
ことを特徴とする情報処理方法。 - 請求項12記載の情報処理方法であって、
前記記憶部は不揮発性記憶素子を含み、
前記コントローラは、
前記IO装置で障害が検出されたときに、前記トレースモードの割込み処理に遷移して、前記割込み処理で前記トレース用メモリ領域の内容を、前記不揮発性記憶素子に転送する
ことを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/058710 WO2012137321A1 (ja) | 2011-04-06 | 2011-04-06 | 情報処理装置、及びその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/058710 WO2012137321A1 (ja) | 2011-04-06 | 2011-04-06 | 情報処理装置、及びその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012137321A1 true WO2012137321A1 (ja) | 2012-10-11 |
Family
ID=46968758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/058710 WO2012137321A1 (ja) | 2011-04-06 | 2011-04-06 | 情報処理装置、及びその方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012137321A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2539657A (en) * | 2015-06-22 | 2016-12-28 | Advanced Risc Mach Ltd | Tracing Processing Activity |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263328A (ja) * | 1995-03-22 | 1996-10-11 | Toshiba Corp | バストレース装置及びバストレース方法 |
JPH1011321A (ja) * | 1996-06-25 | 1998-01-16 | Saitama Nippon Denki Kk | 実行トレース機能付きマイクロプロセッサ |
JP2001051874A (ja) * | 1999-08-12 | 2001-02-23 | Hitachi Ltd | マイクロコンピュータ |
-
2011
- 2011-04-06 WO PCT/JP2011/058710 patent/WO2012137321A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263328A (ja) * | 1995-03-22 | 1996-10-11 | Toshiba Corp | バストレース装置及びバストレース方法 |
JPH1011321A (ja) * | 1996-06-25 | 1998-01-16 | Saitama Nippon Denki Kk | 実行トレース機能付きマイクロプロセッサ |
JP2001051874A (ja) * | 1999-08-12 | 2001-02-23 | Hitachi Ltd | マイクロコンピュータ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2539657A (en) * | 2015-06-22 | 2016-12-28 | Advanced Risc Mach Ltd | Tracing Processing Activity |
GB2539657B (en) * | 2015-06-22 | 2018-03-07 | Advanced Risc Mach Ltd | Tracing Processing Activity |
US10140476B2 (en) | 2015-06-22 | 2018-11-27 | Arm Limited | Tracing processing activity |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690603B2 (en) | Central processing unit, information processing apparatus, and intra-virtual-core register value acquisition method | |
JP4925973B2 (ja) | 装置、システム、方法およびプログラム | |
JP5905911B2 (ja) | シングルステップ実行を用いる診断コード | |
JP2006309760A (ja) | データプロセッサの異常動作を検出するためのモニタリング論理及びモニタリング方法 | |
JP2007249323A (ja) | マイクロコンピュータ | |
CN100432955C (zh) | 一种非法内存读写的检测方法 | |
JP2000187600A (ja) | ウオッチドッグタイマ方式 | |
CN106874796B (zh) | 系统运行中指令流的安全检测和容错方法 | |
CN1329839C (zh) | 一种计算机cpu抗干扰的设计方法 | |
JP2008146542A (ja) | マルチプロセッサシステム、プロセッサ装置及び例外処理方法 | |
WO2012137321A1 (ja) | 情報処理装置、及びその方法 | |
CN104781790A (zh) | 用信号通知软件可恢复错误 | |
JPWO2007097040A1 (ja) | 情報処理装置の制御方法、情報処理装置 | |
CN101446919B (zh) | 一种计算机中央处理器的抗干扰方法 | |
JP2006221606A (ja) | データプロセッサ | |
EP2645258B1 (en) | Multiprocessor system, apparatus and methods | |
JP4340669B2 (ja) | 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法 | |
JP4479002B2 (ja) | Cpuの省電力機能を有する機器のデバッグシステム及び方法 | |
JP4647276B2 (ja) | 半導体回路装置 | |
JP2012059127A (ja) | 情報処理装置、ウォッチドッグタイマ、異常検出方法 | |
JP2009271597A (ja) | プロセッサ | |
GB2380831A (en) | Debug exception handler and registers | |
JP3185780B2 (ja) | システム監視装置及びその方法 | |
KR101734594B1 (ko) | 부트 메모리 페일 조치 방법 및 차량전자시스템 | |
CN104268029A (zh) | 一种用于嵌入式PowerPC处理器异常嵌套的处理电路及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11863180 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11863180 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |