JPWO2012172682A1 - Arithmetic processing device and control method of arithmetic processing device - Google Patents

Arithmetic processing device and control method of arithmetic processing device Download PDF

Info

Publication number
JPWO2012172682A1
JPWO2012172682A1 JP2013520386A JP2013520386A JPWO2012172682A1 JP WO2012172682 A1 JPWO2012172682 A1 JP WO2012172682A1 JP 2013520386 A JP2013520386 A JP 2013520386A JP 2013520386 A JP2013520386 A JP 2013520386A JP WO2012172682 A1 JPWO2012172682 A1 JP WO2012172682A1
Authority
JP
Japan
Prior art keywords
unit
instruction
command
state information
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013520386A
Other languages
Japanese (ja)
Inventor
正典 土居
正典 土居
充治 原
充治 原
山崎 巌
巌 山崎
砂山 竜一
竜一 砂山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013520386A priority Critical patent/JPWO2012172682A1/en
Publication of JPWO2012172682A1 publication Critical patent/JPWO2012172682A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本願の開示するCPU(100)は、命令制御部(121)とI2Cコマンド制御部(112)とI2Cコマンド実行部(122)とを有する。命令制御部(121)は、プログラムに含まれる、制御命令を生成するための制御命令生成命令をデコードする。I2Cコマンド制御部(112)は、命令制御部(121)がデコードした制御命令生成命令が、故障フラグラッチ(123)からの状態情報を読み出す状態情報読出命令を生成する制御命令生成命令である場合に、状態情報読出命令を生成する。I2Cコマンド実行部(122)は、I2Cコマンド制御部(112)が生成した状態情報読出命令に基づき、故障フラグラッチ(123)から状態情報を読出して、プログラムから読出し可能なI2Cレシーブレジスタ(115)に格納する。The CPU (100) disclosed in the present application includes an instruction control unit (121), an I2C command control unit (112), and an I2C command execution unit (122). The instruction control unit (121) decodes a control instruction generation instruction for generating a control instruction included in the program. The I2C command control unit (112), when the control instruction generation instruction decoded by the instruction control unit (121) is a control instruction generation instruction for generating a state information read instruction for reading the state information from the failure flag latch (123). Then, a state information read command is generated. The I2C command execution unit (122) reads the status information from the failure flag latch (123) based on the status information read command generated by the I2C command control unit (112), and stores it in the I2C receive register (115) that can be read from the program. Store.

Description

本発明は、演算処理装置及び演算処理装置の制御方法に関する。   The present invention relates to an arithmetic processing device and a control method for the arithmetic processing device.

従来、演算処理装置であるCPU(Central Processing Unit)内部のハードウェア情報は、サービスプロセッサがCPUにアクセスすることによって読み出される。図10を用いて、従来技術に係るCPU内部のハードウェア情報の読み出し動作を説明する。   Conventionally, hardware information inside a CPU (Central Processing Unit) that is an arithmetic processing unit is read by a service processor accessing the CPU. With reference to FIG. 10, a hardware information read operation inside the CPU according to the prior art will be described.

図10は、従来技術に係るCPU内部のハードウェア情報の読み出し動作を示す図である。図10に示すように、CPU900は、コア部901、コア部902、共通部903、メモリ制御部904、テスト制御回路905を有する。また、CPU900は、サービスプロセッサ(Service Processor)910とバス920を介して接続されている。   FIG. 10 is a diagram illustrating a hardware information reading operation inside the CPU according to the related art. As illustrated in FIG. 10, the CPU 900 includes a core unit 901, a core unit 902, a common unit 903, a memory control unit 904, and a test control circuit 905. The CPU 900 is connected to a service processor 910 via a bus 920.

コア部901は、内部に記憶回路であるFF(Flip Flop)901a、901b、901c、901dを有する。コア部902は、内部にFF902a、902b、902c、902dを有する。共通部903は、内部にFF903a、903b、903c、903dを有する。また、メモリ制御部904は、内部にFF904a、904b、904c、904dを有する。これらのFFは、シリアルに接続されてスキャンチェーンを形成する。   The core unit 901 includes FFs (Flip Flop) 901a, 901b, 901c, and 901d that are storage circuits. The core unit 902 includes FFs 902a, 902b, 902c, and 902d. The common unit 903 includes FFs 903a, 903b, 903c, and 903d inside. The memory control unit 904 includes FFs 904a, 904b, 904c, and 904d. These FFs are serially connected to form a scan chain.

また、CPU900の内部に故障が発生した場合、FFには故障箇所を示す故障フラグが格納される。そして、テスト制御回路905は、サービスプロセッサ910からアクセスされた場合、スキャンチェーンを使用して、FFに格納される故障フラグを読み出し、読み出した故障フラグをサービスプロセッサ910に出力する。そして、サービスプロセッサ910は、読み出した故障フラグを用いて故障箇所の解析を実行する。   Further, when a failure occurs in the CPU 900, a failure flag indicating a failure location is stored in the FF. Then, when accessed from the service processor 910, the test control circuit 905 reads the failure flag stored in the FF using the scan chain, and outputs the read failure flag to the service processor 910. Then, the service processor 910 performs failure location analysis using the read failure flag.

特開2005−44361号公報JP 2005-44361 A 特開2009−236879号公報JP 2009-236879 A 特開平6−139112号公報JP-A-6-139112 特開2010−218367号公報JP 2010-218367 A

しかしながら、上述した従来の技術では、OS(Operating System)などのプログラムからCPU内部のハードウェア情報にアクセスすることができないという課題があった。   However, the above-described conventional technique has a problem that hardware information in the CPU cannot be accessed from a program such as an OS (Operating System).

具体的には、CPU内部のハードウェア情報は、サービスプロセッサを介して取得される。しかし、CPUのユーザは、サービスプロセッサへのアクセスを許可されていない。このため、OSなどのソフトウェアは、CPU内部のハードウェア情報にアクセスすることができない。   Specifically, hardware information inside the CPU is acquired via a service processor. However, the CPU user is not authorized to access the service processor. For this reason, software such as an OS cannot access hardware information in the CPU.

1つの側面では、サービスプロセッサを用いずに、プログラムからCPU内部のハードウェア情報にアクセスすることができる演算処理装置及び演算処理装置の制御方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide an arithmetic processing device that can access hardware information in a CPU from a program without using a service processor, and a control method for the arithmetic processing device.

第1の案では回路部を有する演算処理装置である。演算処理装置は、回路部の状態を示す状態情報を保持する。また、演算処理装置は、プログラムに含まれる、制御命令を生成するための制御命令生成命令をデコードする。また、演算処理装置は、デコードした制御命令生成命令が、状態情報を読み出す状態情報読出命令を生成する制御命令生成命令である場合に、状態情報読出命令を生成する。そして、演算処理装置は、生成した状態情報読出命令に基づき、状態情報を読出して、プログラムから読出し可能なレジスタ部に格納する。   The first proposal is an arithmetic processing unit having a circuit unit. The arithmetic processing unit holds state information indicating the state of the circuit unit. The arithmetic processing unit decodes a control instruction generation instruction for generating a control instruction included in the program. Further, the arithmetic processing unit generates a state information read instruction when the decoded control instruction generation instruction is a control instruction generation instruction for generating a state information read instruction for reading state information. Then, the arithmetic processing unit reads the state information based on the generated state information read command and stores it in the register unit that can be read from the program.

サービスプロセッサを用いずに、プログラムからCPU内部のハードウェア情報にアクセスすることができる。   The hardware information in the CPU can be accessed from the program without using the service processor.

図1は、実施例1に係るCPUの構成を示すブロック図である。FIG. 1 is a block diagram illustrating the configuration of the CPU according to the first embodiment. 図2は、I2Cコマンド実行部の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of the I2C command execution unit. 図3は、故障フラグラッチの構成を示すブロック図である。FIG. 3 is a block diagram showing the configuration of the failure flag latch. 図4Aは、ASIコマンド『ASI_CMD_ACCESS_REG』のデータパターンを示す図である。FIG. 4A is a diagram showing a data pattern of the ASI command “ASI_CMD_ACCESS_REG”. 図4Bは、ASIコマンド『ASI_CMD_RECEIVE_REG』のデータパターンを示す図である。FIG. 4B is a diagram showing a data pattern of the ASI command “ASI_CMD_RECEIVE_REG”. 図5は、CPUにおける故障フラグの読み出し動作を示す図である。FIG. 5 is a diagram showing a failure flag read operation in the CPU. 図6は、故障フラグラッチにおける動作を説明する図である。FIG. 6 is a diagram for explaining the operation in the failure flag latch. 図7は、シフトレジスタの動作を説明する図である。FIG. 7 is a diagram for explaining the operation of the shift register. 図8は、命令制御部によるASIコマンド発行処理の処理手順を示すフローチャートである。FIG. 8 is a flowchart showing a processing procedure of ASI command issue processing by the instruction control unit. 図9は、I2Cコマンド実行部による故障フラグ読み出し処理の処理手順を示すフローチャートである。FIG. 9 is a flowchart illustrating a processing procedure of a failure flag read process by the I2C command execution unit. 図10は、従来技術に係るCPU内部のハードウェア情報の読み出し動作を示す図である。FIG. 10 is a diagram illustrating a hardware information reading operation inside the CPU according to the related art.

以下に、本願の開示する演算処理装置及び演算処理装置の制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Embodiments of an arithmetic processing device and a control method for the arithmetic processing device disclosed in the present application will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.

実施例1では、図1から図9を用いて、CPUの構成、処理動作、処理手順、効果などについて説明する。   In the first embodiment, the configuration, processing operation, processing procedure, effects, and the like of the CPU will be described with reference to FIGS.

[CPUの構成]
図1を用いて、実施例1に係るCPUの構成を説明する。図1は、実施例1に係るCPUの構成を示すブロック図である。図1に示すように、CPU100は、サービスプロセッサ10とI2C(Inter-Integrated Circuit、登録商標、以下同様)101を介して接続されている。なお、CPU100とサービスプロセッサ10との接続はI2Cに限定されるものではなく、SPI(Serial Peripheral Interface、登録商標)、MicroWire(登録商標)、IEEE1149.1で規定されるJTAG(Joint Test Architecture Group)などの他のバスであってもよい。
[CPU configuration]
The configuration of the CPU according to the first embodiment will be described with reference to FIG. FIG. 1 is a block diagram illustrating the configuration of the CPU according to the first embodiment. As shown in FIG. 1, the CPU 100 is connected to the service processor 10 via an I2C (Inter-Integrated Circuit, registered trademark, hereinafter the same) 101. Note that the connection between the CPU 100 and the service processor 10 is not limited to I2C, and is a JTAG (Joint Test Architecture Group) defined by SPI (Serial Peripheral Interface, registered trademark), MicroWire (registered trademark), and IEEE 1149.1. Other buses may be used.

サービスプロセッサ10は、CPU100とは独立に動作し、CPU100の制御を行うシステム制御装置である。例えば、サービスプロセッサ10は、CPU100内の動作状況を監視したり、CPU100内の動作履歴を取得したりして、CPU100の動作が正常であるか否かを診断する。   The service processor 10 is a system control device that operates independently of the CPU 100 and controls the CPU 100. For example, the service processor 10 monitors the operation status in the CPU 100 or acquires an operation history in the CPU 100 to diagnose whether the operation of the CPU 100 is normal.

CPU100は、共通部110と、コア部120と、L2キャッシュ制御部130と、入出力制御部140と、メモリ制御部150とを有する。また、以下の説明では、コア部120、L2キャッシュ制御部130、入出力制御部140、メモリ制御部150のそれぞれを一般化して称する場合には、機能ブロックと適宜記載する。また、共通部110、コア部120、L2キャッシュ制御部130、入出力制御部140、メモリ制御部150のそれぞれを一般化して称する場合には、回路と適宜記載する。なお、CPU100が有するコア部の数はこれに限定されるものではなく、任意に変更可能である。   The CPU 100 includes a common unit 110, a core unit 120, an L2 cache control unit 130, an input / output control unit 140, and a memory control unit 150. In the following description, when the core unit 120, the L2 cache control unit 130, the input / output control unit 140, and the memory control unit 150 are generalized and referred to as functional blocks, they are appropriately described. In addition, when the common unit 110, the core unit 120, the L2 cache control unit 130, the input / output control unit 140, and the memory control unit 150 are generally referred to, they are appropriately described as circuits. In addition, the number of core parts which CPU100 has is not limited to this, It can change arbitrarily.

共通部110は、I2C101によって、サービスプロセッサ10と接続されている。また、共通部110は、I2C102によって、コア部120、L2キャッシュ制御部130、入出力制御部140、メモリ制御部150と接続されている。すなわち、共通部110は、I2C101及びI2C102によってサービスプロセッサ10と各機能ブロックとを接続する。   The common unit 110 is connected to the service processor 10 by I2C101. The common unit 110 is connected to the core unit 120, the L2 cache control unit 130, the input / output control unit 140, and the memory control unit 150 through the I2C102. That is, the common unit 110 connects the service processor 10 and each functional block by I2C101 and I2C102.

そして、共通部110は、コア部120から受信した代替メモリ空間であるASI(Address Space Identifier)空間をアクセスするメモリアクセス命令であるASI(Address Space Identifier)コマンドを解釈し、制御コマンドを生成する。そして、共通部110は、生成した制御コマンドを用いて、共通部110や各機能ブロックが有するハードウェア情報にアクセスする。また、共通部110は、サービスプロセッサ10からもアクセスを受付け、共通部110や各機能ブロックが有するハードウェア情報にアクセスする。なお、ASIコマンドについては後述する。   Then, the common unit 110 interprets an ASI (Address Space Identifier) command, which is a memory access command for accessing an ASI (Address Space Identifier) space that is an alternative memory space received from the core unit 120, and generates a control command. And the common part 110 accesses the hardware information which the common part 110 and each functional block have using the produced | generated control command. The common unit 110 also receives access from the service processor 10 and accesses the hardware information of the common unit 110 and each functional block. The ASI command will be described later.

次に、共通部110の構成について説明する。図1に示すように、共通部110は、I2Cコマンド解釈部111とI2Cコマンド制御部112とI2Cコマンド実行部113と故障フラグラッチ114とI2Cレシーブレジスタ115とフラグフリーズレジスタ116とを有する。   Next, the configuration of the common unit 110 will be described. As illustrated in FIG. 1, the common unit 110 includes an I2C command interpretation unit 111, an I2C command control unit 112, an I2C command execution unit 113, a failure flag latch 114, an I2C receive register 115, and a flag freeze register 116.

I2Cコマンド解釈部111は、後述する命令制御部121から受信したASIコマンドを解釈し、アクセスする機能ブロックやアクセスするレジスタなどのデータを生成して、I2Cコマンド制御部112に送信する。   The I2C command interpretation unit 111 interprets an ASI command received from an instruction control unit 121 (to be described later), generates data such as a function block to be accessed and a register to be accessed, and transmits the data to the I2C command control unit 112.

例えば、I2Cコマンド解釈部111は、後述する故障フラグラッチ114が保持する状態情報を指定された情報に書き換えるASIコマンドを命令制御部121から受信した場合、以下の処理を実行する。すなわち、I2Cコマンド解釈部111は、故障フラグラッチ114が保持する状態情報を指定された情報に書き換えるデータを生成する。そして、I2Cコマンド解釈部111は、生成したデータをI2Cコマンド制御部112に送信する。   For example, when the I2C command interpretation unit 111 receives from the instruction control unit 121 an ASI command for rewriting state information held in a failure flag latch 114 described later to specified information, the I2C command interpretation unit 111 executes the following processing. That is, the I2C command interpretation unit 111 generates data for rewriting the state information held by the failure flag latch 114 with the specified information. Then, the I2C command interpretation unit 111 transmits the generated data to the I2C command control unit 112.

また、I2Cコマンド解釈部111は、故障フラグラッチ114が保持する状態情報を読み出すASIコマンドを命令制御部121から受信した場合、故障フラグラッチ114から状態情報を読み出すデータを生成する。そして、I2Cコマンド解釈部111は、生成したデータをI2Cコマンド制御部112に送信する。   Further, when the ASI command for reading the state information held by the failure flag latch 114 is received from the instruction control unit 121, the I2C command interpretation unit 111 generates data for reading the state information from the failure flag latch 114. Then, the I2C command interpretation unit 111 transmits the generated data to the I2C command control unit 112.

I2Cコマンド制御部112は、I2Cコマンド解釈部111からデータを受信し、受信したデータに基づいて制御コマンドを生成する。そして、I2Cコマンド制御部112は、後述するI2Cコマンド実行部113や各機能ブロックのI2Cコマンド実行部のうち指定されたI2Cコマンド実行部に生成した制御コマンドを送信する。なお、以降の説明では、I2Cコマンド制御部112が生成する制御コマンドをI2Cコマンドと適宜記載する。なお、I2Cコマンドは、データバスを介して接続される回路に対して送信される制御命令の一例である。   The I2C command control unit 112 receives data from the I2C command interpretation unit 111 and generates a control command based on the received data. Then, the I2C command control unit 112 transmits the generated control command to the I2C command execution unit 113 described later and the designated I2C command execution unit among the I2C command execution units of each functional block. In the following description, a control command generated by the I2C command control unit 112 is appropriately described as an I2C command. Note that the I2C command is an example of a control command transmitted to a circuit connected via the data bus.

例えば、I2Cコマンド制御部112は、I2Cコマンドを発行し、各機能ブロックのI2Cコマンド実行部に送信して、それぞれの設定レジスタの値の書き換え及び読み出しを行う。一例を挙げると、I2Cコマンド制御部112は、I2Cコマンドを発行して、後述するシフトレングスレジスタ113bにシフト数を設定する。   For example, the I2C command control unit 112 issues an I2C command, transmits it to the I2C command execution unit of each functional block, and rewrites and reads the value of each setting register. For example, the I2C command control unit 112 issues an I2C command and sets a shift number in a shift length register 113b described later.

また、I2Cコマンド制御部112は、命令制御部121によって故障フラグを回収するASIコマンドが発行された場合、故障フラグを回収するI2Cコマンドを生成し、指定されたI2Cコマンド実行部に対して生成したI2Cコマンドを送信する。   The I2C command control unit 112 generates an I2C command for collecting the failure flag when the ASI command for collecting the failure flag is issued by the instruction control unit 121, and generates the I2C command for the designated I2C command execution unit. Send an I2C command.

I2Cコマンド実行部113は、I2Cコマンド制御部112からI2Cコマンドを受信し、受信したI2Cコマンドに基づいて動作を実行する。例えば、I2Cコマンド実行部113は、I2Cコマンド制御部112によって指示されたレジスタを読み出し、読み出した結果をI2Cコマンド制御部112に転送する。一例を挙げると、I2Cコマンド実行部113は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ114から故障フラグを読み出す。そして、I2Cコマンド実行部113は、読み出した故障フラグを後述するI2Cレシーブレジスタ115に転送する。   The I2C command execution unit 113 receives the I2C command from the I2C command control unit 112 and executes an operation based on the received I2C command. For example, the I2C command execution unit 113 reads a register instructed by the I2C command control unit 112 and transfers the read result to the I2C command control unit 112. For example, the I2C command execution unit 113 receives an I2C command from the I2C command control unit 112 and reads a failure flag from the failure flag latch 114. Then, the I2C command execution unit 113 transfers the read failure flag to the I2C receive register 115 described later.

また、I2Cコマンド実行部113は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ114が保持する情報を指定された情報に書き換える。   Further, the I2C command execution unit 113 receives the I2C command from the I2C command control unit 112, and rewrites the information held in the failure flag latch 114 with the specified information.

図2を用いて、I2Cコマンド実行部113の構成を説明する。図2は、I2Cコマンド実行部の構成を示すブロック図である。図2に示すように、I2Cコマンド実行部113は、shift−enb113a、シフトレングスレジスタ113b、シフトレジスタ113cを有する。   The configuration of the I2C command execution unit 113 will be described with reference to FIG. FIG. 2 is a block diagram showing the configuration of the I2C command execution unit. As illustrated in FIG. 2, the I2C command execution unit 113 includes a shift-enb 113a, a shift length register 113b, and a shift register 113c.

shift−enb113aは、シフトレジスタ113cに保持されるデータをシフトさせることを許可するI2Cコマンド「READ-SHIFT−REG」をI2Cコマンド制御部112から受信する。そして、shift−enb113aは、受信したI2Cコマンド「READ−SHIFT−REG」をshift−enb信号に変換してシフトレジスタ113cに出力する。この結果、シフトレジスタ113cは、保持するデータをシフトさせる。   The shift-enb 113a receives from the I2C command control unit 112 an I2C command “READ-SHIFT-REG” that allows the data held in the shift register 113c to be shifted. Then, the shift-enb 113a converts the received I2C command “READ-SHIFT-REG” into a shift-enb signal and outputs it to the shift register 113c. As a result, the shift register 113c shifts the held data.

シフトレングスレジスタ113bは、シフトレジスタ113cによるスキャンシフトのシフト数を保持する。ここで、シフトレングスレジスタ113bが保持するシフト数は、I2Cコマンド制御部112により送信されるI2Cコマンドによって設定される。例えば、故障フラグラッチ114から故障フラグを読み出す場合、シフトレングスレジスタ113bに設定された値は、故障フラグを読み出す故障フラグラッチ114が有するビット数と同数に設定される。言い換えると、故障フラグラッチ114に64ビットのデータが保持されている場合、シフトレングスレジスタ113bの値は64ビットに設定される。そして、シフトレングスレジスタ113bに設定された値は、シフトレジスタ113cに故障フラグをスキャンシフトにより1ビット読み出すごとに1つずつ減算される。   The shift length register 113b holds the number of scan shifts by the shift register 113c. Here, the number of shifts held by the shift length register 113b is set by the I2C command transmitted by the I2C command control unit 112. For example, when a failure flag is read from the failure flag latch 114, the value set in the shift length register 113b is set to the same number of bits as the failure flag latch 114 that reads the failure flag. In other words, when 64-bit data is held in the failure flag latch 114, the value of the shift length register 113b is set to 64 bits. The value set in the shift length register 113b is decremented by one each time one bit of the failure flag is read into the shift register 113c by scan shift.

シフトレジスタ113cは、ビット0〜ビット63の64ビットの故障フラグ専用のシフトレジスタであり、shift−enb113a、シフトレングスレジスタ113bと接続されている。また、シフトレジスタ113cのビット0は、故障フラグラッチ114の出力端と接続され、シフトレジスタ113cのビット63は、故障フラグラッチ114の入力端と接続されている。   The shift register 113c is a shift register dedicated to a 64-bit failure flag of bit 0 to bit 63, and is connected to the shift-enb 113a and the shift length register 113b. Bit 0 of the shift register 113c is connected to the output terminal of the failure flag latch 114, and bit 63 of the shift register 113c is connected to the input terminal of the failure flag latch 114.

シフトレジスタ113cは、shift−enb113aからデータをシフトさせることを許可する信号であるshift−enb信号を受信した場合に、故障フラグラッチ114から故障フラグを読み出し、読み出した故障フラグを保持する。そして、シフトレジスタ113cに格納されたデータは、I2Cレシーブレジスタ115に転送される。   When the shift register 113c receives a shift-enb signal that is a signal that allows the data to be shifted from the shift-enb 113a, the shift register 113c reads the failure flag from the failure flag latch 114 and holds the read failure flag. The data stored in the shift register 113c is transferred to the I2C receive register 115.

また、シフトレジスタ113cには、サービスプロセッサ10から指定された値を保持するようにしてもよい。   The shift register 113c may hold a value designated by the service processor 10.

図1に戻り、故障フラグラッチ114は、回路の状態を示す状態情報を保持する。例えば、故障フラグラッチ114は、共通部110の故障状態を示す故障フラグを保持する。図3を用いて故障フラグラッチの構成を説明する。図3は、故障フラグラッチの構成を示すブロック図である。   Returning to FIG. 1, the failure flag latch 114 holds state information indicating the state of the circuit. For example, the failure flag latch 114 holds a failure flag indicating a failure state of the common unit 110. The configuration of the failure flag latch will be described with reference to FIG. FIG. 3 is a block diagram showing the configuration of the failure flag latch.

例えば、図3に示すように、故障フラグラッチ114は、複数のFF(Flip Flop)から形成されるloop、ERR_LV1_loop1、ERR_LV2_loop1、ERR_LV2_loop2を有する。   For example, as shown in FIG. 3, the failure flag latch 114 has a loop, ERR_LV1_loop1, ERR_LV2_loop1, and ERR_LV2_loop2 formed from a plurality of FFs (Flip Flops).

ここで、故障フラグラッチ114が有する各loopは、障害の程度に応じて使い分けられる。例えば、ERR_LV1は、システムの動作に影響をきたす重大な障害を示す障害に用いられ、ERR_LV2は、システムの動作に影響をきたさないマイナーエラーに用いられる。また、各FFは、障害の種類に対応付けて用いられる。なお、障害を記憶するFFの数に応じてloopの数は決定され、ここでは、ERR_LV2は、ERR_LV2_loop1及びERR_LV2_loop2の2つのloopを有するものとして説明する。   Here, each loop included in the failure flag latch 114 is selectively used according to the degree of failure. For example, ERR_LV1 is used for a failure indicating a serious failure that affects the operation of the system, and ERR_LV2 is used for a minor error that does not affect the operation of the system. Each FF is used in association with the type of failure. Note that the number of loops is determined according to the number of FFs that store a failure. Here, ERR_LV2 is described as having two loops, ERR_LV2_loop1 and ERR_LV2_loop2.

例えば、ERR_LV1_loop1は、FF114a‐1、FF114a‐2、FF114a‐3、・・・、FF114a‐nを有する。また、ERR_LV2_loop1は、FF114b‐1、FF114b‐2、FF114b‐3、・・・、FF114b‐nを有し、ERR_LV2_loop2は、FF114c‐1、FF114c‐2、FF114c‐3、・・・、FF114c‐nを有する。なお、ここで、nは、任意の自然数である。   For example, ERR_LV1_loop1 includes FF 114a-1, FF 114a-2, FF 114a-3, ..., FF 114a-n. ERR_LV2_loop1 includes FF114b-1, FF114b-2, FF114b-3,..., FF114b-n, and ERR_LV2_loop2 includes FF114c-1, FF114c-2, FF114c-3,. Have Here, n is an arbitrary natural number.

I2Cレシーブレジスタ115は、I2Cコマンド実行部113のスキャンシフト制御によって読み出された64ビットのデータを保持するレジスタである。I2Cレシーブレジスタ115に保持されるデータは、後述する命令制御部121がASIコマンドを発行することによってOS等のプログラムに読み出すことができる。すなわち、I2Cレシーブレジスタ115は、ソフトウェアからアクセス可能なレジスタである。   The I2C receive register 115 is a register that holds 64-bit data read by the scan shift control of the I2C command execution unit 113. The data held in the I2C receive register 115 can be read out to a program such as an OS by issuing an ASI command by an instruction control unit 121 described later. That is, the I2C receive register 115 is a register accessible from software.

フラグフリーズレジスタ116は、故障フラグラッチ114や各機能ブロックが有する故障フラグラッチに保持される値の変更を許可するか否かを示す情報を保持する。フラグフリーズレジスタ116には、故障フラグラッチ114に保持される故障フラグの値の更新を抑制することを示す「1」、故障フラグラッチに保持される故障フラグの値の更新を許可することを示す「0」が格納される。すなわち、故障フラグラッチ114や各機能ブロックが有する故障フラグラッチは、フラグフリーズレジスタ116に「1」が格納されている間は、保持する状態情報を更新せずに保持し続ける。   The flag freeze register 116 holds information indicating whether or not to permit changing of values held in the failure flag latch 114 and the failure flag latch included in each functional block. The flag freeze register 116 indicates “1” indicating that the update of the value of the failure flag held in the failure flag latch 114 is suppressed, and “0” indicates that the update of the value of the failure flag held in the failure flag latch is permitted. Is stored. In other words, the failure flag latch 114 and the failure flag latch included in each functional block continue to hold the state information to be held without updating while “1” is stored in the flag freeze register 116.

図1に戻り、コア部120は、命令制御部121と、I2Cコマンド実行部122と、故障フラグラッチ123とを有し、例えば、図示しないL1キャッシュから命令を読み出して実行する。   Returning to FIG. 1, the core unit 120 includes an instruction control unit 121, an I2C command execution unit 122, and a failure flag latch 123. For example, the core unit 120 reads and executes an instruction from an L1 cache (not shown).

命令制御部121は、コア部120が有する図示しないL1キャッシュから読み出した実行中のプログラムの命令をデコードし、デコードした命令を実行する。ここで、命令制御部121は、読み出した命令がI2Cコマンドの発行を指示するものであった場合、ASIコマンドを発行する。   The instruction control unit 121 decodes an instruction of a program being executed read from an L1 cache (not shown) included in the core unit 120, and executes the decoded instruction. Here, the instruction control unit 121 issues an ASI command when the read instruction is an instruction to issue an I2C command.

ここでは、ASIコマンドについて説明する。なお、ASIコマンドの詳細は、特開2010−218367号公報に詳細に記載されているので、ここでは、ASIコマンドについて簡潔に説明する。   Here, the ASI command will be described. The details of the ASI command are described in detail in Japanese Patent Application Laid-Open No. 2010-218367, so the ASI command will be briefly described here.

ASIコマンドは、ASI空間を識別する8ビットのASI空間番号とよばれる識別子を指定するコマンドである。また、このASI空間番号は、仮想アドレスを物理アドレスに変換する動作を指定したり、CPU100が有するレジスタの読み書きを指定したりすることができる。   The ASI command is a command for designating an identifier called an 8-bit ASI space number for identifying the ASI space. The ASI space number can specify an operation for converting a virtual address into a physical address, or can specify reading / writing of a register included in the CPU 100.

本実施例において、ASI空間番号を一つ新たに定義し、この新たに定義したASI空間番号に対して2つの仮想アドレスを割り当てる。ASIコマンドは、この新たに割り当てたASI空間番号と仮想アドレスとを指定することで、共通部110がI2Cコマンドを、指定された仮想アドレスへのアクセスをとして実行する。   In the present embodiment, one new ASI space number is defined, and two virtual addresses are assigned to the newly defined ASI space number. The ASI command designates the newly assigned ASI space number and virtual address, so that the common unit 110 executes the I2C command as access to the designated virtual address.

本実施例において、ASIコマンドは、『ASI_CMD_ACCESS_REG』、『ASI_CMD_RECEIVE_REG』の2つの仮想アドレスを有する。『ASI_CMD_ACCESS_REG』は、I2Cコマンドを発行する命令であり、『ASI_CMD_RECEIVE_REG』は、発行したI2Cコマンドによる結果を読み出す命令である。以下では、ASIコマンドのデータパターンについて説明する。   In this embodiment, the ASI command has two virtual addresses “ASI_CMD_ACCESS_REG” and “ASI_CMD_RECEIVE_REG”. “ASI_CMD_ACCESS_REG” is an instruction for issuing an I2C command, and “ASI_CMD_RECEIVE_REG” is an instruction for reading a result of the issued I2C command. Hereinafter, the data pattern of the ASI command will be described.

(ASI_CMD_ACCESS_REG)
図4Aを用いて、ASIコマンド『ASI_CMD_ACCESS_REG』のデータパターンについて説明する。図4Aは、ASIコマンド『ASI_CMD_ACCESS_REG』のデータパターンを示す図である。図4Aに示すように、『ASI_CMD_ACCESS_REG』は、64ビットデータのデータパターンを有しており、I2Cコマンドを発行する。
(ASI_CMD_ACCESS_REG)
A data pattern of the ASI command “ASI_CMD_ACCESS_REG” will be described with reference to FIG. 4A. FIG. 4A is a diagram showing a data pattern of the ASI command “ASI_CMD_ACCESS_REG”. As shown in FIG. 4A, “ASI_CMD_ACCESS_REG” has a data pattern of 64-bit data and issues an I2C command.

ビット63は、LOCKビットであり、I2Cコマンドが実行中であることを示す。すなわち、ビット63は、I2Cコマンドの競合を回避するための排他制御の指定を示す。   Bit 63 is a LOCK bit and indicates that an I2C command is being executed. That is, bit 63 indicates the designation of exclusive control for avoiding I2C command contention.

ビット62からビット56は、LOCK_IDを示す。LOCK_IDは、I2Cコマンドを実行している機能ブロックを示す情報であり、各機能ブロックにあらかじめ指定されている値が格納される。   Bits 62 to 56 indicate LOCK_ID. LOCK_ID is information indicating a functional block executing the I2C command, and a value designated in advance is stored in each functional block.

ビット55からビット49は、I2Cコマンドのコードを示す。ビット48は、Read/Writeであり、レジスタの読みまたはレジスタへの書き込みを指定する情報が格納される。ビット47からビット32は、本実施例では未使用であるものとする。ビット31からビット0は、I2Cコマンドへの引数を示す。   Bits 55 to 49 indicate the code of the I2C command. Bit 48 is Read / Write, and stores information for designating reading or writing to the register. Bits 47 to 32 are not used in this embodiment. Bit 31 to bit 0 indicate an argument to the I2C command.

なお、以下の説明で、例えば、ビット62からビット56のデータを示す場合、data[62:56]として適宜記載する。   In the following description, for example, when data of bit 62 to bit 56 is indicated, it is appropriately described as data [62:56].

また、以下の説明では、『ASI_CMD_ACCESS_REG』コマンドのデータパターンの一部をasi_cmd_access_reg.LOCK、asi_cmd_access_reg.LOCK_IDのように適宜記載する。   In the following description, a part of the data pattern of the “ASI_CMD_ACCESS_REG” command is changed to asi_cmd_access_reg. LOCK, asi_cmd_access_reg. It is described appropriately as LOCK_ID.

(ASI_CMD_RECEIVE_REG)
次に、図4Bを用いて、ASIコマンド『ASI_CMD_RECEIVE_REG』のデータパターンについて説明する。図4Bは、ASIコマンド『ASI_CMD_RECEIVE_REG』のデータパターンを示す図である。図4Bに示すように、『ASI_CMD_RECEIVE_REG』は、I2Cコマンドによる結果を読み出すコマンドであり、読み出しに伴う64ビットデータのデータパターンは次のように定義される。
(ASI_CMD_RECEIVE_REG)
Next, the data pattern of the ASI command “ASI_CMD_RECEIVE_REG” will be described with reference to FIG. 4B. FIG. 4B is a diagram showing a data pattern of the ASI command “ASI_CMD_RECEIVE_REG”. As shown in FIG. 4B, “ASI_CMD_RECEIVE_REG” is a command for reading the result of the I2C command, and the data pattern of 64-bit data accompanying the reading is defined as follows.

ビット63は、LOCKビットを示す。このLOCKビットには、排他制御の結果、I2Cコマンドの実行権を取得できたか否かを示す情報が格納される。   Bit 63 indicates a LOCK bit. In the LOCK bit, information indicating whether or not the execution right of the I2C command has been acquired as a result of the exclusive control is stored.

ビット62からビット56は、LOCK_IDを示す。このLOCK_IDフィールドには、どの機能ブロックにアクセス中であるかを示す情報が格納される。   Bits 62 to 56 indicate LOCK_ID. This LOCK_ID field stores information indicating which functional block is being accessed.

ビット55からビット54は、BUSY/NACKを示す。BUSYは、I2Cコマンドが実行中であることを示す。また、NACK(Negative ACKnowledgement)は、I2Cコマンドが実行できなかったことを示す。また、data[55:54]の値が「01」の場合、ビット31からビット28には、ASI_CMDの実行でエラーが生じたことを示すエラーコードが設定される。   Bits 55 to 54 indicate BUSY / NACK. BUSY indicates that the I2C command is being executed. NACK (Negative ACKnowledgement) indicates that the I2C command could not be executed. When the value of data [55:54] is “01”, an error code indicating that an error has occurred in the execution of ASI_CMD is set in bits 31 to 28.

ビット53からビット32は、本実施例では未使用であるものとする。ビット31からビット0は、I2Cコマンドの返り値であり、読み出されたデータになる。   Bits 53 to 32 are not used in this embodiment. Bit 31 to bit 0 are a return value of the I2C command and are read data.

なお、以下の説明では、『ASI_CMD_RECEIVE_REG』コマンドのデータパターンの一部をasi_cmd_receive_reg.LOCK、asi_cmd_receive_reg.LOCK_IDのように適宜記載する。   In the following description, a part of the data pattern of the “ASI_CMD_RECEIVE_REG” command is asi_cmd_receive_reg. LOCK, asi_cmd_receive_reg. It is described appropriately as LOCK_ID.

このようなASIコマンドを発行することによって、命令制御部121は、以下に示す処理を実行する。すなわち、命令制御部121は、ASIコマンドを発行することによって、共通部110にI2Cコマンドを生成させ、生成されたI2CコマンドをI2Cコマンド実行部に実行させる。また、この場合、命令制御部121は、ASIデータ[63:0]をI2Cコマンド解釈部111に転送する。   By issuing such an ASI command, the instruction control unit 121 executes the following process. That is, the instruction control unit 121 issues an ASI command to cause the common unit 110 to generate an I2C command and cause the I2C command execution unit to execute the generated I2C command. In this case, the instruction control unit 121 transfers the ASI data [63: 0] to the I2C command interpretation unit 111.

また、命令制御部121は、予め特定のASI空間番号を指定することによって、CPU100内のレジスタの読み書きを実行することができる。   Further, the instruction control unit 121 can execute reading and writing of registers in the CPU 100 by designating a specific ASI space number in advance.

図1に戻り、例えば、I2Cコマンド実行部122は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ123から故障フラグを読み出す。そして、I2Cコマンド実行部122は、読み出した故障フラグをI2Cレシーブレジスタ115に転送する。なお、I2Cコマンド実行部122の構成は、I2Cコマンド実行部113の構成と同様であるので、説明を省略する。また、故障フラグラッチ123の構成は、故障フラグラッチ114の構成と同様であるので、説明を省略する。   Returning to FIG. 1, for example, the I2C command execution unit 122 receives the I2C command from the I2C command control unit 112 and reads the failure flag from the failure flag latch 123. Then, the I2C command execution unit 122 transfers the read failure flag to the I2C receive register 115. Note that the configuration of the I2C command execution unit 122 is the same as the configuration of the I2C command execution unit 113, and a description thereof will be omitted. Further, the configuration of the failure flag latch 123 is the same as the configuration of the failure flag latch 114, and thus the description thereof is omitted.

L2キャッシュ制御部130は、図示しないL2キャッシュを有し、コア部120から要求されたデータや命令がL2キャッシュに存在するか否かを判定する。ここで、L2キャッシュ制御部130は、要求されたデータや命令がL2キャッシュに存在していると判定した場合、要求されたデータや命令をL2キャッシュから読み出して、L1キャッシュへ転送する。   The L2 cache control unit 130 has an L2 cache (not shown), and determines whether data or an instruction requested from the core unit 120 exists in the L2 cache. If the L2 cache control unit 130 determines that the requested data or instruction exists in the L2 cache, the L2 cache control unit 130 reads the requested data or instruction from the L2 cache and transfers it to the L1 cache.

また、L2キャッシュ制御部130は、I2Cコマンド実行部131、故障フラグラッチ132を有する。例えば、I2Cコマンド実行部131は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ132から故障フラグを読み出す。そして、I2Cコマンド実行部131は、読み出した故障フラグをI2Cレシーブレジスタ115に転送する。なお、I2Cコマンド実行部131の構成は、I2Cコマンド実行部113の構成と同様であるので、説明を省略する。また、故障フラグラッチ132の構成は、故障フラグラッチ114の構成と同様であるので、説明を省略する。   The L2 cache control unit 130 includes an I2C command execution unit 131 and a failure flag latch 132. For example, the I2C command execution unit 131 receives the I2C command from the I2C command control unit 112 and reads the failure flag from the failure flag latch 132. Then, the I2C command execution unit 131 transfers the read failure flag to the I2C receive register 115. Note that the configuration of the I2C command execution unit 131 is the same as the configuration of the I2C command execution unit 113, and a description thereof will be omitted. Further, the configuration of the failure flag latch 132 is the same as the configuration of the failure flag latch 114, and thus the description thereof is omitted.

入出力制御部140は、CPUと図示しない入出力装置とを接続するインターフェースを有し、CPUと入出力装置との間のデータのやり取りを制御する。また、入出力制御部140は、I2Cコマンド実行部141、故障フラグラッチ142を有する。例えば、I2Cコマンド実行部141は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ142から故障フラグを読み出す。そして、I2Cコマンド実行部141は、読み出した故障フラグをI2Cレシーブレジスタ115に転送する。なお、I2Cコマンド実行部141の構成は、I2Cコマンド実行部113の構成と同様であるので、説明を省略する。また、故障フラグラッチ142の構成は、故障フラグラッチ114の構成と同様であるので、説明を省略する。   The input / output control unit 140 has an interface for connecting a CPU and an input / output device (not shown), and controls data exchange between the CPU and the input / output device. The input / output control unit 140 includes an I2C command execution unit 141 and a failure flag latch 142. For example, the I2C command execution unit 141 receives the I2C command from the I2C command control unit 112 and reads the failure flag from the failure flag latch 142. Then, the I2C command execution unit 141 transfers the read failure flag to the I2C receive register 115. Note that the configuration of the I2C command execution unit 141 is the same as the configuration of the I2C command execution unit 113, and a description thereof will be omitted. Further, the configuration of the failure flag latch 142 is the same as the configuration of the failure flag latch 114, and thus the description thereof is omitted.

メモリ制御部150は、図示しない主記憶装置との間のデータのやり取りを制御する。また、メモリ制御部150は、I2Cコマンド実行部151、故障フラグラッチ152を有する。例えば、I2Cコマンド実行部151は、I2Cコマンド制御部112からI2Cコマンドを受信し、故障フラグラッチ152から故障フラグを読み出す。そして、I2Cコマンド実行部151は、読み出した故障フラグをI2Cレシーブレジスタ115に転送する。なお、I2Cコマンド実行部151の構成は、I2Cコマンド実行部113の構成と同様であるので、説明を省略する。また、故障フラグラッチ152の構成は、故障フラグラッチ114の構成と同様であるので、説明を省略する。   The memory control unit 150 controls data exchange with a main storage device (not shown). Further, the memory control unit 150 includes an I2C command execution unit 151 and a failure flag latch 152. For example, the I2C command execution unit 151 receives the I2C command from the I2C command control unit 112 and reads the failure flag from the failure flag latch 152. Then, the I2C command execution unit 151 transfers the read failure flag to the I2C receive register 115. Note that the configuration of the I2C command execution unit 151 is the same as the configuration of the I2C command execution unit 113, and a description thereof will be omitted. Further, the configuration of the failure flag latch 152 is the same as the configuration of the failure flag latch 114, and thus description thereof is omitted.

[処理動作]
次に、図5から図7を用いて、CPUにおける処理動作を説明する。
[Processing operation]
Next, the processing operation in the CPU will be described with reference to FIGS.

(I2Cコマンドによる故障フラグの読み出し動作)
次に、図5を用いて、CPU100における故障フラグの読み出し動作を説明する。図5は、CPUにおける故障フラグの読み出し動作を示す図である。なお、図5では、コア部120の故障フラグの読み出し動作について説明するが、この動作は共通部110、L2キャッシュ制御部130、入出力制御部140、メモリ制御部150の故障フラグ読み出し動作でも同様である。
(Failure flag read operation by I2C command)
Next, a failure flag reading operation in the CPU 100 will be described with reference to FIG. FIG. 5 is a diagram showing a failure flag read operation in the CPU. In FIG. 5, the failure flag read operation of the core unit 120 will be described. This operation is the same as the failure flag read operation of the common unit 110, the L2 cache control unit 130, the input / output control unit 140, and the memory control unit 150. It is.

図5に示すように、CPU100が有する命令制御部121は、故障フラグの読み出しを指示する『ASI_CMD_ACCESS_REG』を発行し、ASIデータ[63:0]をI2Cコマンド解釈部111に送信する(S1)。そして、I2Cコマンド解釈部111は、受け取ったASIデータをデコードし、アクセスをする機能ブロックやアクセスを行うレジスタなどのデータを生成し、I2Cコマンド制御部112に送信する(S2)。   As illustrated in FIG. 5, the instruction control unit 121 included in the CPU 100 issues “ASI_CMD_ACCESS_REG” instructing reading of a failure flag, and transmits ASI data [63: 0] to the I2C command interpretation unit 111 (S1). Then, the I2C command interpretation unit 111 decodes the received ASI data, generates data such as a function block to be accessed and a register to be accessed, and transmits the data to the I2C command control unit 112 (S2).

I2Cコマンド制御部112は、受信したデータをI2Cコマンドに変換して、I2Cコマンド実行部122に送信する(S3)。続いて、I2Cコマンド実行部122は、故障フラグラッチ123から指示された故障フラグの読み出しを開始し(S4)、故障フラグを取得する(S5)。そして、I2Cコマンド実行部122は、読み出した結果をI2Cレシーブレジスタ115に送信する(S6)。I2Cレシーブレジスタ115は、data[63:0]にI2Cコマンド実行部122から受信した故障フラグを保持する。   The I2C command control unit 112 converts the received data into an I2C command and transmits it to the I2C command execution unit 122 (S3). Subsequently, the I2C command execution unit 122 starts reading the failure flag instructed from the failure flag latch 123 (S4), and acquires the failure flag (S5). Then, the I2C command execution unit 122 transmits the read result to the I2C receive register 115 (S6). The I2C receive register 115 holds the failure flag received from the I2C command execution unit 122 in data [63: 0].

その後、命令制御部121は、『ASI_CMD_RECEIVE_REG』命令を発行することによって、I2Cレシーブレジスタ115のdata[31:0]を読み出して、I2Cレシーブレジスタ115の下位側の32ビットに格納する。続いて、命令制御部121は、CODE「02」を指定して『ASI_CMD_ACCESS_REG』を発行することで、I2Cレシーブレジスタ115のdata[63:32]を読み出して、I2Cレシーブレジスタ115の上位側の32ビットに格納する。すなわち、命令制御部121は、ASIコマンドを実行することにより、プログラムからアクセス可能なI2Cレシーブレジスタ115に故障フラグを格納する。このようにして、命令制御部121は、ASIコマンドの実行により取得した故障フラグをプログラムから利用可能なI2Cレシーブレジスタ115に保持する。   Thereafter, the instruction control unit 121 issues an “ASI_CMD_RECEIVE_REG” instruction to read data [31: 0] of the I2C receive register 115 and stores it in the lower 32 bits of the I2C receive register 115. Subsequently, the instruction control unit 121 issues “ASI_CMD_ACCESS_REG” by designating CODE “02”, thereby reading data [63:32] of the I2C receive register 115, and 32 on the upper side of the I2C receive register 115. Store in bits. That is, the instruction control unit 121 stores the failure flag in the I2C receive register 115 accessible from the program by executing the ASI command. In this way, the instruction control unit 121 holds the failure flag acquired by executing the ASI command in the I2C receive register 115 that can be used from the program.

(故障フラグラッチにおける処理動作)
次に、図6を用いて故障フラグラッチ114における動作を説明する。図6は、故障フラグラッチにおける動作を説明する図である。なお、ここでは、共通部110が有する故障フラグラッチ114のERR_LV1_loop1を例にして説明するが、各機能ブロックが有する故障フラグラッチにおいても処理動作は同様である。
(Processing operation in failure flag latch)
Next, the operation in the failure flag latch 114 will be described with reference to FIG. FIG. 6 is a diagram for explaining the operation in the failure flag latch. Here, the ERR_LV1_loop1 of the failure flag latch 114 included in the common unit 110 will be described as an example, but the processing operation is the same in the failure flag latch included in each functional block.

図6に示すように、故障フラグラッチ114のERR_LV1_loop1は、FF114a‐1、・・・FF114a‐nを有する。FF114a‐1は、AND回路(論理積回路)201‐1、AND回路202‐1、AND回路203‐1、OR回路(論理和回路)204‐1、FF205‐1を有する。   As shown in FIG. 6, ERR_LV1_loop1 of the failure flag latch 114 includes FFs 114a-1,... FFs 114a-n. The FF 114 a-1 includes an AND circuit (logical product circuit) 201-1, an AND circuit 202-1, an AND circuit 203-1, an OR circuit (logical sum circuit) 204-1, and an FF 205-1.

AND回路201‐1は、反転させたフラグフリーズ信号と反転させたloop_0_shift−enb信号とエラー信号とを受付けて、受付けた値の論理積をOR回路204‐1に出力する。また、AND回路202‐1は、loop_0_shift−enb信号とシフトレジスタ113cからのデータとを受付け、受付けた値の論理積をOR回路204‐1に出力する。また、AND回路203‐1は、反転させたloop_0_shift−enb信号と反転させたクリアエラーフラグ信号とFF205‐1からの出力とを受付け、受付けた値の論理積をOR回路204‐1に出力する。   The AND circuit 201-1 receives the inverted flag freeze signal, the inverted loop_0_shift-enb signal, and the error signal, and outputs a logical product of the received values to the OR circuit 204-1. The AND circuit 202-1 receives the loop_0_shift-enb signal and the data from the shift register 113c, and outputs a logical product of the received values to the OR circuit 204-1. The AND circuit 203-1 receives the inverted loop_0_shift-enb signal, the inverted clear error flag signal, and the output from the FF 205-1, and outputs the logical product of the received values to the OR circuit 204-1. .

OR回路204‐1は、AND回路201‐1、AND回路202‐1、AND回路203‐1のいずれか2つからの出力を受付け、受付けた値の論理和を出力する。そして、OR回路204‐1は、出力した論理和と、残るAND回路からの出力とを受付け、受付けた値の論理和をFF205‐1に出力する。FF205‐1は、受付けた値をAND回路203‐1と隣接するFFのAND回路202とに出力する。   The OR circuit 204-1 accepts outputs from any two of the AND circuit 201-1, the AND circuit 202-1 and the AND circuit 203-1, and outputs a logical sum of the accepted values. Then, the OR circuit 204-1 accepts the output logical sum and the output from the remaining AND circuit, and outputs the logical sum of the accepted values to the FF 205-1. The FF 205-1 outputs the received value to the AND circuit 203-1 and the adjacent AND circuit 202 of the FF.

なお、FF114a‐nの構成は、FF114a‐1の構成と同様であるので、説明は省略する。   Note that the configuration of the FF 114a-n is the same as the configuration of the FF 114a-1, and a description thereof will be omitted.

このような、故障フラグラッチ114において、データをシフトさせることを許可する信号を受信していない場合の動作について説明する。なお、ここでは、FF205‐1には「1」、FF205‐nには「0」が格納されており、フラグフリーズ信号及びクリアエラーフラグ信号が故障フラグラッチ114には入力されていないとする。   The operation when the failure flag latch 114 does not receive a signal permitting data shift will be described. Here, it is assumed that “1” is stored in the FF 205-1 and “0” is stored in the FF 205-n, and the flag freeze signal and the clear error flag signal are not input to the failure flag latch 114.

この場合、AND回路201‐1は、反転させたフラグフリーズ信号「1」、反転させたloop_0_shift−enb信号「1」、エラー信号「1」を受付けて、OR回路204‐1に「1」を出力する。AND回路202‐1は、いずれの信号も受付けず、OR回路204‐1に「0」を出力する。また、AND回路203‐1は、反転させたloop_0_shift−enb「1」、反転させたクリアエラーフラグ信号「1」、FF205‐1の出力「1」を受付け、OR回路204‐1に「1」を出力する。   In this case, the AND circuit 201-1 receives the inverted flag freeze signal “1”, the inverted loop_0_shift-enb signal “1”, and the error signal “1”, and sets “1” to the OR circuit 204-1. Output. The AND circuit 202-1 does not accept any signal and outputs “0” to the OR circuit 204-1. The AND circuit 203-1 receives the inverted loop_0_shift-enb “1”, the inverted clear error flag signal “1”, and the output “1” of the FF 205-1, and the OR circuit 204-1 receives “1”. Is output.

そして、OR回路204‐1は、AND回路201‐1から「1」、AND回路202‐1から「0」、AND回路203‐1から「1」を受付け、FF205‐1に「1」を出力する。なお、FF205‐1が受付けた「1」は、FF205‐1がAND回路203‐1に「1」を出力することで維持される。   The OR circuit 204-1 receives “1” from the AND circuit 201-1, “0” from the AND circuit 202-1, “1” from the AND circuit 203-1, and outputs “1” to the FF 205-1. To do. Note that “1” received by the FF 205-1 is maintained when the FF 205-1 outputs “1” to the AND circuit 203-1.

このような状況の故障フラグラッチ114において、シフトレジスタ113cからデータをシフトさせることを許可する信号を受信した場合の動作について説明する。なお、ここでは、シフトレジスタ113cには「0」が格納されていると仮定する。   The operation when the failure flag latch 114 in such a situation receives a signal permitting data shift from the shift register 113c will be described. Here, it is assumed that “0” is stored in the shift register 113c.

この場合、AND回路201‐1は、反転させたフラグフリーズ信号「0」、反転させたloop_0_shift−enb信号「0」、エラー信号「0」を受付けて、OR回路204‐1に「0」を出力する。AND回路202‐1は、loop_0_shift−enb信号「1」とシフトレジスタ113cに格納されていた「0」とを受付けて、OR回路204‐1に「0」を出力する。また、AND回路203‐1は、反転させたloop_0_shift−enb信号「0」、反転させたクリアエラーフラグ信号「1」、FF205‐1の出力「1」を受付け、OR回路204‐1に「0」を出力する。   In this case, the AND circuit 201-1 receives the inverted flag freeze signal “0”, the inverted loop_0_shift-enb signal “0”, and the error signal “0”, and sets “0” to the OR circuit 204-1. Output. The AND circuit 202-1 receives the loop_0_shift-enb signal “1” and “0” stored in the shift register 113c, and outputs “0” to the OR circuit 204-1. Further, the AND circuit 203-1 receives the inverted loop_0_shift-enb signal “0”, the inverted clear error flag signal “1”, and the output “1” of the FF 205-1, and the OR circuit 204-1 receives “0”. Is output.

そして、OR回路204‐1は、AND回路201‐1、AND回路202‐1、AND回路203‐1のすべてから「0」を受付け、FF205‐1に「0」を出力する。また、FF205‐1に格納されていた「1」は、隣接するFF114a‐2が有するAND回路202‐2に出力され、FF205‐2にシフトする。   Then, the OR circuit 204-1 receives “0” from all of the AND circuit 201-1, the AND circuit 202-1 and the AND circuit 203-1 and outputs “0” to the FF 205-1. Further, “1” stored in the FF 205-1 is output to the AND circuit 202-2 included in the adjacent FF 114a-2, and is shifted to the FF 205-2.

このように、故障フラグラッチ114は、シフトレジスタ113cからデータをシフトさせることを許可する信号を受信した場合、シフトレングスレジスタ113bに保持される数だけデータをシフトさせる。この結果、シフトレジスタ113cには、故障フラグラッチ114に保持されていたデータがシフトする。   As described above, when the failure flag latch 114 receives a signal permitting shifting of data from the shift register 113c, the failure flag latch 114 shifts the data by the number held in the shift length register 113b. As a result, the data held in the failure flag latch 114 is shifted to the shift register 113c.

(シフトレジスタにおける処理動作)
次に、図7を用いてシフトレジスタ113cの動作を説明する。図7は、シフトレジスタの動作を説明する図である。なお、ここでは、共通部110が有するシフトレジスタ113cを例にして説明するが、各機能ブロックが有するシフトレジスタにおいても処理動作は同様である。
(Processing operation in the shift register)
Next, the operation of the shift register 113c will be described with reference to FIG. FIG. 7 is a diagram for explaining the operation of the shift register. Here, the shift register 113c included in the common unit 110 is described as an example, but the processing operation is the same in the shift register included in each functional block.

図7に示すように、シフトレジスタ113cは、AND回路401‐1、AND回路402‐1、AND回路403‐1、OR回路404‐1、FF405‐1を有する。また、シフトレジスタ113cは、同様に、AND回路401‐n、AND回路402‐n、AND回路403‐n、OR回路404‐n、FF405‐nを有する。   As illustrated in FIG. 7, the shift register 113c includes an AND circuit 401-1, an AND circuit 402-1, an AND circuit 403-1, an OR circuit 404-1, and an FF 405-1. Similarly, the shift register 113c includes an AND circuit 401-n, an AND circuit 402-n, an AND circuit 403-n, an OR circuit 404-n, and an FF 405-n.

AND回路401‐1は、I2C_WRITE_VAL信号とI2C_WRITE_DATA[0]信号と反転させたshift−enb信号とを受付けて、受付けた値の論理積をOR回路404‐1に出力する。また、AND回路402‐1は、shift−enb信号と選択されたloopからのデータとを受付け、受付けた値の論理積をOR回路404‐1に出力する。また、AND回路403‐1は、反転させたshift−enb信号と反転させたI2C_WRITE_VAL信号とFF405‐1からの出力とを受付け、受付けた値の論理積をOR回路404‐1に出力する。   The AND circuit 401-1 receives the I2C_WRITE_VAL signal, the I2C_WRITE_DATA [0] signal, and the inverted shift-enb signal, and outputs a logical product of the received values to the OR circuit 404-1. The AND circuit 402-1 receives the shift-enb signal and the data from the selected loop, and outputs a logical product of the received values to the OR circuit 404-1. Further, the AND circuit 403-1 receives the inverted shift-enb signal, the inverted I2C_WRITE_VAL signal, and the output from the FF 405-1, and outputs a logical product of the received values to the OR circuit 404-1.

OR回路404‐1は、AND回路401‐1、AND回路402‐1、AND回路403‐1のいずれか2つからの出力を受付け、受付けた値の論理和を出力する。そして、OR回路404‐1は、出力した論理和と、残るAND回路からの出力とを受付け、受付けた値の論理和をFF405‐1に出力する。FF405‐1は、受付けた値をAND回路403‐1と隣接するAND回路402‐2に出力する。   The OR circuit 404-1 accepts outputs from any two of the AND circuit 401-1, the AND circuit 402-1, and the AND circuit 403-1, and outputs a logical sum of the accepted values. Then, the OR circuit 404-1 receives the output logical sum and the output from the remaining AND circuit, and outputs the logical sum of the received values to the FF 405-1. The FF 405-1 outputs the received value to the AND circuit 402-2 adjacent to the AND circuit 403-1.

このような、シフトレジスタ113cにおいて、shift−enb113aからデータをシフトさせることを許可する信号を受信していない場合の動作について説明する。なお、ここでは、FF405‐1には「0」が格納されており、I2C_WRITE_VAL信号及びI2C_WRITE_DATA[0]信号がシフトレジスタ113cには入力されていないとする。   An operation when the shift register 113c does not receive a signal permitting data shift from the shift-enb 113a will be described. Here, it is assumed that “0” is stored in the FF 405-1, and the I2C_WRITE_VAL signal and the I2C_WRITE_DATA [0] signal are not input to the shift register 113 c.

この場合、AND回路401‐1は、反転させたshift−enb信号「1」を受付けて、OR回路404‐1に「0」を出力する。AND回路402‐1は、いずれの信号も受付けず、OR回路404‐1に「0」を出力する。また、AND回路403‐1は、反転させたshift−enb信号「1」、反転させたI2C_WRITE_VAL信号「1」、FF405‐1の出力「0」を受付け、OR回路404‐1に「0」を出力する。   In this case, the AND circuit 401-1 receives the inverted shift-enb signal “1” and outputs “0” to the OR circuit 404-1. The AND circuit 402-1 does not accept any signal and outputs “0” to the OR circuit 404-1. Also, the AND circuit 403-1 receives the inverted shift-enb signal “1”, the inverted I2C_WRITE_VAL signal “1”, and the output “0” of the FF 405-1, and sets “0” to the OR circuit 404-1. Output.

そして、OR回路404‐1は、AND回路401‐1、AND回路402‐1、AND回路403‐1のすべてから「0」を受付け、FF405‐1に「0」を出力する。なお、FF405‐1が受付けた「0」は、FF405‐1がAND回路403‐1に「0」を出力することで維持される。   The OR circuit 404-1 receives “0” from all of the AND circuit 401-1, the AND circuit 402-1, and the AND circuit 403-1 and outputs “0” to the FF 405-1. Note that “0” received by the FF 405-1 is maintained when the FF 405-1 outputs “0” to the AND circuit 403-1.

このような状況のシフトレジスタ113cにおいて、shift−enb113aからデータをシフトさせることを許可する信号を受信した場合の動作について説明する。なお、ここでは、故障フラグラッチが有するFF114a-nに「1」が格納されていると仮定する。   The operation when the shift register 113c in such a situation receives a signal permitting data shift from the shift-enb 113a will be described. Here, it is assumed that “1” is stored in the FF 114a-n included in the failure flag latch.

この場合、AND回路401‐1は、反転させたshift−enb信号「0」を受付けて、OR回路404‐1に「0」を出力する。AND回路402‐1は、shift−enb信号「1」とFF114a-nに格納されていた「1」とを受付けて、OR回路404‐1に「1」を出力する。また、AND回路403‐1は、反転させたshift−enb信号「0」、反転させたI2C_WRITE_VAL信号「1」、FF405‐1の出力「0」を受付け、OR回路404‐1に「0」を出力する。   In this case, the AND circuit 401-1 receives the inverted shift-enb signal “0” and outputs “0” to the OR circuit 404-1. The AND circuit 402-1 receives the shift-enb signal “1” and “1” stored in the FF 114a-n, and outputs “1” to the OR circuit 404-1. Further, the AND circuit 403-1 receives the inverted shift-enb signal “0”, the inverted I2C_WRITE_VAL signal “1”, and the output “0” of the FF 405-1, and sets “0” to the OR circuit 404-1. Output.

そして、OR回路404‐1は、AND回路401‐1から「0」、AND回路402‐1から「1」、AND回路403‐1から「0」を受付け、FF405‐1に「1」を出力する。また、FF405‐1に格納されていた「0」は、隣接するAND回路402‐2に出力され、FF405‐2にシフトする。   The OR circuit 404-1 receives “0” from the AND circuit 401-1, “1” from the AND circuit 402-1, and “0” from the AND circuit 403-1, and outputs “1” to the FF 405-1. To do. Further, “0” stored in the FF 405-1 is output to the adjacent AND circuit 402-2 and shifted to the FF 405-2.

このように、シフトレジスタ113cは、shift−enb113aからデータをシフトさせることを許可する信号を受信した場合、シフトレングスレジスタ113bに保持される数だけデータをシフトさせる。この結果、シフトレジスタ113cには、故障フラグラッチ114に保持されていたデータがシフトする。   As described above, when the shift register 113c receives a signal permitting shifting of data from the shift-enb 113a, the shift register 113c shifts the data by the number held in the shift length register 113b. As a result, the data held in the failure flag latch 114 is shifted to the shift register 113c.

[故障フラグ取得処理の処理手順]
次に図8及び図9を用いて、実施例1に係るCPU100における故障フラグ取得処理の処理手順を説明する。図8では、命令制御部によるASIコマンド発行処理の処理手順を説明し、図9では、I2Cコマンド実行部による故障フラグの読み出し処理の処理手順を説明する。
[Failure flag acquisition processing procedure]
Next, the processing procedure of the failure flag acquisition process in the CPU 100 according to the first embodiment will be described with reference to FIGS. FIG. 8 illustrates the processing procedure of the ASI command issuance processing by the instruction control unit, and FIG. 9 illustrates the processing procedure of the failure flag read processing by the I2C command execution unit.

(命令制御部によるASIコマンド発行処理)
図8は、命令制御部によるASIコマンド発行処理の処理手順を示すフローチャートである。図8に示すように、命令制御部121は、『ASI_CMD_RECEIVE_REG』命令を発行する(ステップS101)。そして、命令制御部121は、asi_cmd_receive_reg.LOCKビットを読み出し、読み出した値が「0」であるか否かを判定する(ステップS102)。
(ASI command issuance processing by the instruction control unit)
FIG. 8 is a flowchart showing a processing procedure of ASI command issue processing by the instruction control unit. As illustrated in FIG. 8, the instruction control unit 121 issues an “ASI_CMD_RECEIVE_REG” instruction (step S101). Then, the instruction control unit 121 uses asi_cmd_receive_reg. The LOCK bit is read and it is determined whether or not the read value is “0” (step S102).

ここで、命令制御部121は、読み出した値が「0」でないと判定した場合(ステップS102、No)、ステップS101に移行する。すなわち、命令制御部121は、他のプロセッサ部、またはサービスプロセッサ100がI2Cコマンドを実行中である。したがって、命令制御部121は、読み出した値が「0」でない場合には、他のプロセッサ部、またはサービスプロセッサ100によるI2Cコマンドの完了を待つ。そして、命令制御部121は、他のプロセッサ部あるいはサービスプロセッサ100によるI2Cコマンドの完了後に、I2Cコマンドを発行する。そのために、命令制御部121は、読み出した値が「0」になるまで所定の間隔を置いて、『ASI_CMD_RECEIVE_REG』命令の発行を繰り返す。   Here, when the instruction control unit 121 determines that the read value is not “0” (No in step S102), the instruction control unit 121 proceeds to step S101. That is, in the instruction control unit 121, another processor unit or the service processor 100 is executing an I2C command. Therefore, when the read value is not “0”, the instruction control unit 121 waits for completion of the I2C command by another processor unit or the service processor 100. Then, the instruction control unit 121 issues the I2C command after completion of the I2C command by the other processor unit or the service processor 100. Therefore, the instruction control unit 121 repeats issuing the “ASI_CMD_RECEIVE_REG” instruction at a predetermined interval until the read value becomes “0”.

一方、命令制御部121は、読み出した値が「0」であると判定した場合(ステップS102、Yes)、ASIコマンド経由のI2Cコマンドの実行が可能であると判定し、以下の処理を実行する。すなわち、命令制御部121は、LOCK=1、制御したい機能ブロックのLOCK_ID、実行コマンドを指定して、『ASI_CMD_ACCESS_REG』命令を発行する(ステップS103)。   On the other hand, if the instruction control unit 121 determines that the read value is “0” (Yes in step S102), the instruction control unit 121 determines that the I2C command can be executed via the ASI command, and executes the following processing. . That is, the instruction control unit 121 issues “ASI_CMD_ACCESS_REG” instruction by specifying LOCK = 1, LOCK_ID of the functional block to be controlled, and the execution command (step S103).

続いて、命令制御部121は、『ASI_CMD_RECEIVE_REG』命令を発行する(ステップS104)。そして、命令制御部121は、asi_cmd_receive_reg.LOCKビット及びLOCK_IDを読み出し、読み出した値が「1」であり、かつ、指定したLOCK_IDであるか否かを判定する(ステップS105)。   Subsequently, the instruction control unit 121 issues an “ASI_CMD_RECEIVE_REG” instruction (step S104). Then, the instruction control unit 121 uses asi_cmd_receive_reg. The LOCK bit and LOCK_ID are read, and it is determined whether or not the read value is “1” and the specified LOCK_ID (step S105).

ここで、命令制御部121は、読み出した値が「1」、指定したLOCK_IDの2つの条件のいずれかが満たされていないと判定した場合(ステップS105、No)、ステップS101に移行する。この場合、ステップS103で発行した『ASI_CMD_ACCESS_REG』の実行権の獲得が失敗し、命令が実行されなかったことを意味する。   Here, when the instruction control unit 121 determines that the read value is “1” and one of the two conditions of the specified LOCK_ID is not satisfied (No in Step S105), the instruction control unit 121 proceeds to Step S101. In this case, it means that acquisition of the execution right of “ASI_CMD_ACCESS_REG” issued in step S103 has failed and the instruction has not been executed.

一方、命令制御部121は、2つの条件が満たされていると判定した場合(ステップS105、Yes)、『ASI_CMD_RECEIVE_REG』命令を発行する(ステップS106)。   On the other hand, if the instruction control unit 121 determines that the two conditions are satisfied (step S105, Yes), it issues an “ASI_CMD_RECEIVE_REG” instruction (step S106).

そして、命令制御部121は、asi_cmd_receive_reg.BUSY=「0」であるか否かを判定する(ステップS107)。ここで、命令制御部121は、BUSY=「0」でないと判定した場合(ステップS107、No)、ステップS106に移行し、BUSY=「0」になるまで処理を繰り返す。この場合、命令制御部121は、ステップS103で発行したI2CコマンドがI2Cコマンド実行部によって実行中であると判定する。   Then, the instruction control unit 121 uses asi_cmd_receive_reg. It is determined whether or not BUSY = “0” (step S107). If the instruction control unit 121 determines that BUSY = “0” is not satisfied (No at Step S107), the instruction control unit 121 proceeds to Step S106 and repeats the process until BUSY = “0”. In this case, the instruction control unit 121 determines that the I2C command issued in step S103 is being executed by the I2C command execution unit.

一方、命令制御部121は、BUSY=「0」であると判定した場合(ステップS107、Yes)、asi_cmd_receive_reg.NACK=「0」であるか否かを判定する(ステップS108)。ここで、命令制御部121は、NACK=「0」であると判定した場合(ステップS108、Yes)、ステップS103において発行したコマンドが機能ブロックの状態を読み出すReadコマンドであるか否かを判定する(ステップS109)。   On the other hand, if the instruction control unit 121 determines that BUSY = “0” (Yes in step S <b> 107), the asi_cmd_receive_reg. It is determined whether or not NACK = “0” (step S108). When determining that NACK = “0” (Yes in step S108), the instruction control unit 121 determines whether the command issued in step S103 is a Read command for reading the state of the functional block. (Step S109).

ここで、命令制御部121は、Readコマンドであると判定した場合(ステップS109、Yes)、data[31:0]を読み出し(ステップS110)、ステップS111に移行する。一方、命令制御部121は、Readコマンドでないと判定した場合(ステップS109、No)、ステップS111に移行する。   If the command control unit 121 determines that the command is a Read command (step S109, Yes), it reads data [31: 0] (step S110), and proceeds to step S111. On the other hand, if the command control unit 121 determines that the command is not a Read command (No in step S109), the command control unit 121 proceeds to step S111.

ステップS111において、命令制御部121は、連続して新たなコマンドを発行するか否かを判定する(ステップS111)。命令制御部121は、連続して新たなコマンドを発行しないと判定した場合(ステップS111、No)、asi_cmd_access_reg.LOCK=「0」で『ASI_CMD_ACCESS_REG』命令を発行する(ステップS112)。この命令により、命令制御部121は、ASIコマンドによるI2Cコマンドの排他制御権を開放し、一連のI2Cコマンド処理を終了する。一方、命令制御部121は、連続して新たなコマンドを発行すると判定した場合(ステップS111、Yes)、ステップS114に移行する。   In step S111, the instruction control unit 121 determines whether to issue new commands continuously (step S111). If the instruction control unit 121 determines not to issue new commands continuously (No in step S111), the instruction control unit 121 determines asi_cmd_access_reg. An “ASI_CMD_ACCESS_REG” command is issued with LOCK = “0” (step S112). With this instruction, the instruction control unit 121 releases the exclusive control right of the I2C command by the ASI command, and ends the series of I2C command processing. On the other hand, if the command control unit 121 determines to continuously issue new commands (step S111, Yes), the command control unit 121 proceeds to step S114.

命令制御部121は、ステップS108において、NACK=「0」でないと判定した場合(ステップS108、No)、asi_cmd_receive_reg.NACK=「1」であるか否かを判定する(ステップS113)。ここで、命令制御部121は、NACK=「1」でないと判定した場合(ステップS113、No)、ステップS114に移行する。   If the instruction control unit 121 determines in step S108 that NACK = “0” is not satisfied (step S108, No), the asi_cmd_receive_reg. It is determined whether NACK = “1” (step S113). Here, if the command control unit 121 determines that NACK = “1” is not satisfied (No in step S113), the command control unit 121 proceeds to step S114.

一方、命令制御部121は、NACK=「1」であると判定した場合(ステップS113、Yes)、ソフトエラーが生じていると判定し(ステップS115)、処理を終了する。なお、この場合、命令制御部121は、ソフトエラーが生じたことをサービスプロセッサ10に通知する。   On the other hand, when determining that NACK = “1” (Yes in step S113), the command control unit 121 determines that a soft error has occurred (step S115), and ends the process. In this case, the instruction control unit 121 notifies the service processor 10 that a soft error has occurred.

ステップS114において、命令制御部121は、LOCK=1、LOCK_ID=7Fを指定して、『ASI_CMD_ACCESS_REG』命令を発行し(ステップS114)、ステップS106に移行する。   In step S114, the instruction control unit 121 designates LOCK = 1 and LOCK_ID = 7F, issues an “ASI_CMD_ACCESS_REG” instruction (step S114), and proceeds to step S106.

(I2Cコマンド実行部による故障フラグの読み出し処理)
図9は、I2Cコマンド実行部による故障フラグ読み出し処理の処理手順を示すフローチャートである。例えば、I2Cコマンド実行部は、I2Cコマンド制御部112からアクセスを受付けたことを契機に処理を実行する。
(Failure flag read processing by the I2C command execution unit)
FIG. 9 is a flowchart illustrating a processing procedure of a failure flag read process by the I2C command execution unit. For example, the I2C command execution unit executes processing upon receiving access from the I2C command control unit 112.

図9に示すように、故障フラグを読み出す機能ブロックのI2Cコマンド実行部は、フラグフリーズレジスタ116が「1」に設定される(ステップS201)。そして、I2Cコマンド実行部は、シフトレングスレジスタにシフト数を決定し(ステップS202)、SHIFT_enb信号を「1」にする(ステップS203)。   As shown in FIG. 9, in the I2C command execution unit of the functional block that reads the failure flag, the flag freeze register 116 is set to “1” (step S201). Then, the I2C command execution unit determines the number of shifts in the shift length register (step S202), and sets the SHIFT_enb signal to “1” (step S203).

ここで、I2Cコマンド実行部において、SHIFT_enb信号が「1」になった場合、LOOP0に接続された故障フラグが選択されて、シフトレジスタに64ビットのデータとして読み出される。また、64ビットのデータをシフトレジスタに読み出した場合、SHIFT_enb信号が「0」になる。   Here, in the I2C command execution unit, when the SHIFT_enb signal becomes “1”, the failure flag connected to LOOP0 is selected and read as 64-bit data into the shift register. Further, when 64-bit data is read out to the shift register, the SHIFT_enb signal becomes “0”.

続いて、I2Cコマンド実行部は、読み出したデータをI2Cコマンド制御部が有する、プログラムからアクセス可能なI2Cレシーブレジスタに転送する(ステップS204)。また、I2Cコマンド実行部は、さらに別のloopから故障フラグを読み出すアクセスを受付けたか否かを判定する(ステップS205)。ここで、I2Cコマンド実行部は、さらに別のloopから故障フラグを読み出すアクセスを受付けたと判定した場合(ステップS205、Yes)、ステップS202に移行し、故障フラグの読み出し処理を実行する。   Subsequently, the I2C command execution unit transfers the read data to the I2C receive register accessible by the program included in the I2C command control unit (step S204). Further, the I2C command execution unit determines whether or not an access for reading a failure flag from another loop has been received (step S205). If the I2C command execution unit determines that access to read a failure flag from another loop has been received (step S205, Yes), the process proceeds to step S202, and a failure flag read process is executed.

一方、I2Cコマンド実行部は、別のloopから故障フラグを読み出すアクセスを受付けていないと判定した場合(ステップS205、No)、フラグフリーズレジスタ116が「0」に設定され(ステップS206)、処理を終了する。   On the other hand, when the I2C command execution unit determines that access for reading the failure flag from another loop is not accepted (No in step S205), the flag freeze register 116 is set to “0” (step S206), and the process is performed. finish.

[実施例1の効果]
上述してきたように、実施例1では、共通部110及び各機能ブロックがI2Cコマンド実行部を有する。そして、I2Cコマンド制御部112は、命令制御部121によって故障フラグを回収するASIコマンドが発行された場合、故障フラグを回収するI2Cコマンドを生成し、生成したI2Cコマンドを共通部110及び各機能ブロックに送信する。これによって、I2Cコマンド実行部は、故障フラグラッチに保持される故障フラグを読み出すことができる。すなわち、実施例1に係るCPU100において、サービスプロセッサ10からスキャンチェーンを用いて故障フラグをスキャンアウトしなくても、CPU100の故障フラグを読み出すことができる。
[Effect of Example 1]
As described above, in the first embodiment, the common unit 110 and each functional block have the I2C command execution unit. The I2C command control unit 112 generates an I2C command for recovering the failure flag when the instruction control unit 121 issues an ASI command for recovering the failure flag, and the generated I2C command is used for the common unit 110 and each functional block. Send to. Thereby, the I2C command execution unit can read the failure flag held in the failure flag latch. That is, in the CPU 100 according to the first embodiment, the failure flag of the CPU 100 can be read without scanning out the failure flag from the service processor 10 using the scan chain.

これまで記述してきたような回路を各機能ブロックにI2Cコマンド実行部を組み込むことで、1つの機能ブロックの故障フラグを読み出している間に、他の機能ブロックで起きたエラーを漏れることなく故障フラグラッチに取り込むことが可能となる。なお、各機能ブロックは、決定は、asi_cmd_access_reg.LOCK_IDに各機能ブロックにあらかじめ指定されている値を書き込むことで制御可能である。   By incorporating the I2C command execution unit into each function block with the circuit described so far, while reading the failure flag of one function block, the failure flag latches without leaking an error that occurred in another function block It becomes possible to import to. Each function block determines asi_cmd_access_reg. Control can be performed by writing a value designated in advance to each functional block in LOCK_ID.

また、近年、SoC(System on Chip)化によってCPUが大規模になってきている。このため、CPU全体のシミュレーションモデルを作成し、システム制御のテストベンチを走行するシミュレーションを行う場合、コンパイル時間、テストベンチの走行時間が長くなる。すなわち、CPU全体でシミュレーションを実行することは、非常に困難になってきている。しかし、本発明によりエミュレータを使用したCPUの検証を行う場合、ASIコマンドを使用したテストプログラムを作成することで、CPU全体のモデルでのシステム制御レジスタの検証を行うことが可能になる。   In recent years, CPUs have become large-scale due to SoC (System on Chip). For this reason, when a simulation model of the entire CPU is created and a simulation for running on a system-controlled test bench is performed, the compilation time and the running time of the test bench become longer. In other words, it has become very difficult to execute a simulation with the entire CPU. However, when verifying a CPU using an emulator according to the present invention, it is possible to verify a system control register in a model of the entire CPU by creating a test program using an ASI command.

CPUのシステム制御の検証においても、CPU全体でエミュレートすることが可能となり、CPUの品質向上が可能となる。   Even in the verification of the CPU system control, the CPU as a whole can be emulated, and the quality of the CPU can be improved.

本発明のI2Cコマンド制御部及びI2Cコマンド実行部を組み込むことでサービスプロセッサがなくても、ソフトウェアからI2C制御部を介してI2Cコマンド実行部にアクセスし、ハードウェア情報が読み出せる。このため、サービスプロセッサを用いず、CPU100単独でCPU100の設定が可能となる。また、CPUの設定を変えることができるので、ソフトウェアにあったCPUの構成に変更することができる。この結果、CPUの処理性能を向上させることができる。   By incorporating the I2C command control unit and the I2C command execution unit of the present invention, the hardware information can be read by accessing the I2C command execution unit from the software via the I2C control unit even without a service processor. Therefore, the CPU 100 can be set by the CPU 100 alone without using the service processor. Further, since the CPU setting can be changed, the CPU configuration can be changed to match the software. As a result, the processing performance of the CPU can be improved.

また、ソフトウェアは、CPUのハードウェア情報が読み出せるために、得られた故障情報から致命的な故障を回避することが可能になる。   Further, since the software can read the hardware information of the CPU, it is possible to avoid a fatal failure from the obtained failure information.

また、サービスプロセッサが必要なシステムであっても、CPUのハードウェアの設定を制御する機能を削減できるため、サービスプロセッサの簡易化によりコストの削減が可能である。   Even in a system that requires a service processor, the function for controlling the hardware settings of the CPU can be reduced, so that the cost can be reduced by simplifying the service processor.

ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本発明に含まれる他の実施例について説明する。   By the way, this invention may be implemented with a various different form other than the Example mentioned above. Accordingly, in the second embodiment, another embodiment included in the present invention will be described.

(エラー制御論理のデバッグ)
また本発明は、このエラー制御論理のデバッグにも用いることでこの回路の品質を保証することが可能である。
(Debug error control logic)
The present invention can also be used for debugging the error control logic to guarantee the quality of the circuit.

機能ブロックが有するシフトレジスタのdata[63:0]に、サービスプロセッサがある値、例えば、「0×123456789abcdef」を書き込んでおく。また、I2Cコマンド実行部に接続されている故障フラグラッチのラッチ数をシフトレングスレジスタにも書き込む。   A certain value, for example, “0 × 123456789abcdef” is written in data [63: 0] of the shift register included in the functional block. In addition, the number of failure flag latches connected to the I2C command execution unit is also written to the shift length register.

そして、I2Cコマンド制御部112は、フラグフリーズレジスタに「1」を設定し、故障フラグが更新されないようする。続いて、I2Cコマンド制御部112は、シフトレングスレジスタの値が「0」になるまで故障フラグラッチを読み出すコマンドを発行する。   Then, the I2C command control unit 112 sets “1” in the flag freeze register so that the failure flag is not updated. Subsequently, the I2C command control unit 112 issues a command for reading the failure flag latch until the value of the shift length register becomes “0”.

ここで、シフトレジスタに書き込んだ値が故障フラグレジスタを伝播して再度シフトレジスタに格納される場合、故障フラグレジスタの制御回路が正常であると判定できる。一方、正しい値がシフトレジスタに戻ってこなければ、制御回路または故障フラグレジスタの接続を誤っていることが検出できる。   Here, when the value written in the shift register propagates through the failure flag register and is stored again in the shift register, it can be determined that the control circuit of the failure flag register is normal. On the other hand, if the correct value does not return to the shift register, it can be detected that the connection of the control circuit or the failure flag register is incorrect.

(擬似故障によるCPUの動作シミュレーション)
また、このシフトレジスタへの書き込み方法を利用してシフトレジスタに接続されている故障フラグラッチを「1」にセットすることで、CPUに擬似故障を起こした場合の動作をシミュレーションすることも可能である。
(CPU operation simulation due to simulated failure)
Further, by setting the failure flag latch connected to the shift register to “1” by using this method of writing to the shift register, it is possible to simulate the operation in the case where a pseudo failure occurs in the CPU. .

例えば、サービスプロセッサがシフトレジスタのいずれかのビットに「1」を書き込んでおく。そして、I2Cコマンド制御部112は、故障フラグレジスタが更新されないようにフリーズ信号を「1」にする。続いて、故障フラグラッチの擬似故障を起こす対象となるFFに個別に割り振られている番号をシフトレングスレジスタに書き込み、読み出しコマンドを発行する。この結果、シフトレジスタに書き込んだ値は、故障フラグレジスタの擬似故障を起こす対象となるFFまでシフトされて、擬似故障を起こす対象となるFFの値が「1」に変化する。この方法によって、CPUの故障時の動作のシミュレーションをおこなうことが可能となる。   For example, the service processor writes “1” in any bit of the shift register. Then, the I2C command control unit 112 sets the freeze signal to “1” so that the failure flag register is not updated. Subsequently, the numbers individually assigned to the FFs to be subjected to the pseudo failure of the failure flag latch are written to the shift length register and a read command is issued. As a result, the value written in the shift register is shifted to the FF that is the target of causing the pseudo failure of the failure flag register, and the value of the FF that is the target of causing the pseudo failure is changed to “1”. By this method, it is possible to simulate the operation when the CPU is faulty.

(システム構成等)
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
(System configuration etc.)
Of the processes described in the present embodiment, all or part of the processes described as being automatically performed may be performed manually. Alternatively, all or part of the processing described as being performed manually can be automatically performed by a known method. In addition, the processing procedures, control procedures, and specific names shown in the text and drawings can be arbitrarily changed unless otherwise specified.

また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。   Further, the information stored in the illustrated storage unit is only an example, and it is not always necessary to store the information as illustrated.

また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更してもよい。   Further, the order of processing in each step of each processing described in each embodiment may be changed according to various loads and usage conditions.

また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、共通部110において、I2Cコマンド解釈部111とI2Cコマンド制御部112とが統合されてもよい。   Each illustrated component is functionally conceptual and does not necessarily need to be physically configured as illustrated. For example, in the common unit 110, the I2C command interpretation unit 111 and the I2C command control unit 112 may be integrated.

10 サービスプロセッサ
100 CPU
110 共通部
111 I2Cコマンド解釈部
112 I2Cコマンド制御部
113、122、131、141、151 I2Cコマンド実行部
113a shift−enb
113b シフトレングスレジスタ
113c シフトレジスタ
114、123、132、142、152 故障フラグラッチ
115 I2Cレシーブレジスタ
116 フラグフリーズレジスタ
120 コア部
121 命令制御部
130 L2キャッシュ制御部
140 入出力制御部
150 メモリ制御部
10 Service processor 100 CPU
110 Common part 111 I2C command interpretation part 112 I2C command control part 113, 122, 131, 141, 151 I2C command execution part 113a shift-enb
113b Shift length register 113c Shift register 114, 123, 132, 142, 152 Fault flag latch 115 I2C receive register 116 Flag freeze register 120 Core unit 121 Instruction control unit 130 L2 cache control unit 140 I / O control unit 150 Memory control unit

Claims (10)

回路部を有する演算処理装置において、
前記回路部の状態を示す状態情報を保持する状態情報保持部と、
プログラムに含まれる、制御命令を生成するための制御命令生成命令をデコードする命令制御部と、
前記命令制御部がデコードした制御命令生成命令が、前記状態情報保持部からの状態情報を読み出す状態情報読出命令を生成する制御命令生成命令である場合に、状態情報読出命令を生成する命令生成部と、
前記命令生成部が生成した状態情報読出命令に基づき、前記状態情報保持部から状態情報を読出して、プログラムから読出し可能なレジスタ部に格納する命令実行部と
を有することを特徴とする演算処理装置。
In an arithmetic processing unit having a circuit unit,
A state information holding unit for holding state information indicating the state of the circuit unit;
An instruction control unit for decoding a control instruction generation instruction for generating a control instruction included in the program;
A command generation unit that generates a status information read command when the control command generation command decoded by the command control unit is a control command generation command that generates a status information read command for reading status information from the status information holding unit When,
An instruction execution unit that reads state information from the state information holding unit and stores the state information in a register unit that can be read from a program based on a state information read command generated by the command generation unit. .
前記命令生成部は、前記命令制御部がデコードした制御命令生成命令が、前記状態情報保持部が保持する状態情報を指定された情報に書き換える状態情報書換命令を生成する制御命令生成命令である場合に、前記状態情報書換命令を生成し、
前記命令実行部は、前記命令生成部が生成した状態情報書換命令に基づき、前記状態情報保持部が保持する状態情報を、指定された情報に書き換えることを特徴とする請求項1記載の演算処理装置。
When the instruction generation unit is a control instruction generation instruction that generates a state information rewrite instruction for rewriting the state information held by the state information holding unit with specified information, the control instruction generation instruction decoded by the instruction control unit And generating the status information rewriting instruction,
The arithmetic processing according to claim 1, wherein the instruction execution unit rewrites the state information held by the state information holding unit to specified information based on the state information rewriting instruction generated by the instruction generation unit. apparatus.
前記演算処理装置はさらに、
前記状態情報保持部が保持する状態情報の更新を抑止するロック情報を保持するロック情報保持部を有し、
前記状態情報保持部は、前記ロック情報保持部がロック情報を保持している間は、保持する状態情報を更新せずに保持し続けることを特徴とする請求項1記載の演算処理装置。
The arithmetic processing unit further includes:
A lock information holding unit that holds lock information that suppresses updating of the state information held by the state information holding unit;
The arithmetic processing apparatus according to claim 1, wherein the state information holding unit keeps holding the state information without updating while the lock information holding unit holds the lock information.
前記演算処理装置が、
命令を読み出して実行するコア部、L2キャッシュの制御を実行するL2キャッシュ制御部、自装置と接続される入出力装置との情報の入出力を制御する入出力制御部、メモリの制御を実行するメモリ制御部及び、前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部それぞれに接続される共通部を前記回路部として有し、
前記コア部は、前記命令制御部と前記レジスタ部とを有し、
前記共通部は、前記命令生成部を有し、
前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部、前記共通部それぞれは、前記命令実行部と前記状態情報保持部とを有する
ことを特徴とする請求項1に記載の演算処理装置。
The arithmetic processing unit is
A core unit that reads and executes instructions, an L2 cache control unit that executes control of an L2 cache, an input / output control unit that controls input / output of information with an input / output device connected to the own device, and a memory control A memory control unit, a common unit connected to each of the core unit, the L2 cache control unit, the input / output control unit, and the memory control unit as the circuit unit;
The core unit includes the instruction control unit and the register unit,
The common unit includes the instruction generation unit,
The core unit, the L2 cache control unit, the input / output control unit, the memory control unit, and the common unit each include the instruction execution unit and the state information holding unit. Arithmetic processing unit.
前記命令生成部は、前記状態情報読出命令を生成するとともに、前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部、前記共通部のいずれの命令実行部に前記状態情報読出命令を送信するかを決定し、決定した命令実行部に前記生成した状態情報読出命令を送信することを特徴とする請求項4に記載の演算処理装置。   The instruction generation unit generates the state information read instruction, and transmits the state information to any instruction execution unit of the core unit, the L2 cache control unit, the input / output control unit, the memory control unit, and the common unit. 5. The arithmetic processing apparatus according to claim 4, wherein it is determined whether to transmit a read command, and the generated state information read command is transmitted to the determined command execution unit. 回路部を有する演算処理装置の制御方法において、
前記演算処理装置が有する命令制御部が、プログラムに含まれ、前記回路部の状態を示す状態情報を読み出す制御命令を生成する制御命令生成命令をデコードし、
前記演算処理装置が有する命令生成部が、前記命令制御部がデコードした制御命令生成命令に基づき、状態情報読出命令を生成し、
前記演算処理装置が有する命令実行部が、前記命令生成部が生成した状態情報読出命令に基づき、前記回路部の状態を示す状態情報を保持する状態情報保持部から状態情報を読出して、プログラムから読出し可能なレジスタ部に格納する
ことを特徴とする演算処理装置の制御方法。
In a control method of an arithmetic processing unit having a circuit unit,
An instruction control unit included in the arithmetic processing unit is included in the program, decodes a control instruction generation instruction for generating a control instruction for reading out state information indicating the state of the circuit unit,
The instruction generation unit included in the arithmetic processing unit generates a state information read instruction based on the control instruction generation instruction decoded by the instruction control unit,
The instruction execution unit included in the arithmetic processing unit reads state information from a state information holding unit that holds state information indicating the state of the circuit unit based on the state information read instruction generated by the instruction generation unit, A method for controlling an arithmetic processing unit, comprising: storing in a readable register unit.
前記演算処理装置の制御方法はさらに、
前記命令生成部が、前記命令制御部がデコードした制御命令生成命令に基づき、前記状態情報保持部が保持する情報を、指定された情報に書き換える状態情報書換命令を生成し、
前記命令実行部が、前記命令生成部が生成した状態情報書換命令に基づき、前記前記状態情報保持部が保持する情報を、指定された情報に書き換える
ことを特徴とする請求項6記載の演算処理装置の制御方法。
The control method of the arithmetic processing unit is further
Based on the control instruction generation instruction decoded by the instruction control unit, the instruction generation unit generates a state information rewrite instruction for rewriting the information held by the state information holding unit to specified information,
The arithmetic processing according to claim 6, wherein the instruction execution unit rewrites information held by the state information holding unit to specified information based on a state information rewriting instruction generated by the instruction generation unit. Device control method.
前記演算処理装置の制御方法において、
前記演算処理装置はさらに、
前記状態情報保持部が保持する状態情報の更新を抑止するロック情報を保持するロック情報保持部を有し、
前記状態情報保持部は、前記ロック情報保持部がロック情報を保持している間は、保持する状態情報を更新せずに保持し続ける
ことを特徴とする請求項6記載の演算処理装置の制御方法。
In the control method of the arithmetic processing unit,
The arithmetic processing unit further includes:
A lock information holding unit that holds lock information that suppresses updating of the state information held by the state information holding unit;
The control of the arithmetic processing device according to claim 6, wherein the state information holding unit keeps holding the state information without updating while the lock information holding unit holds the lock information. Method.
前記演算処理装置の制御方法において、
前記演算処理装置はさらに、
命令を読み出して実行するコア部、L2キャッシュの制御を実行するL2キャッシュ制御部、自装置と接続される入出力装置との情報の入出力を制御する入出力制御部、メモリの制御を実行するメモリ制御部及び、前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部それぞれに接続される共通部を前記回路部として有し、
前記コア部が有する前記命令制御部が、制御命令生成命令をデコードし、
前記共通部が有する前記命令生成部が、前記命令制御部がデコードした制御命令生成命令に基づき、状態情報読出命令を生成し、
前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部、前記共通部それぞれが有する命令実行部が、前記状態情報読出命令に基づき、自身を含む回路部が有する前記状態情報保持部から状態情報を読出して、前記コア部が有する前記レジスタ部に格納する
ことを特徴とする請求項6に記載の演算処理装置の制御方法。
In the control method of the arithmetic processing unit,
The arithmetic processing unit further includes:
A core unit that reads and executes instructions, an L2 cache control unit that executes control of an L2 cache, an input / output control unit that controls input / output of information with an input / output device connected to the own device, and a memory control A memory control unit, a common unit connected to each of the core unit, the L2 cache control unit, the input / output control unit, and the memory control unit as the circuit unit;
The instruction control unit included in the core unit decodes a control instruction generation instruction,
The command generation unit included in the common unit generates a status information read command based on the control command generation command decoded by the command control unit,
The state information included in the circuit unit including the instruction execution unit included in each of the core unit, the L2 cache control unit, the input / output control unit, the memory control unit, and the common unit based on the state information read command. The method according to claim 6, wherein state information is read from a holding unit and stored in the register unit included in the core unit.
前記演算処理装置の制御方法において、
前記命令生成部は、前記状態情報読出命令を生成するとともに、前記コア部、前記L2キャッシュ制御部、前記入出力制御部、前記メモリ制御部、前記共通部のいずれの命令実行部に前記状態情報読出命令を送信するかを決定し、決定した命令実行部に前記生成した状態情報読出命令を送信することを特徴とする請求項9に記載の演算処理装置の制御方法。
In the control method of the arithmetic processing unit,
The instruction generation unit generates the state information read instruction, and transmits the state information to any instruction execution unit of the core unit, the L2 cache control unit, the input / output control unit, the memory control unit, and the common unit. 10. The method according to claim 9, wherein it is determined whether to transmit a read command, and the generated state information read command is transmitted to the determined command execution unit.
JP2013520386A 2011-06-17 2011-06-17 Arithmetic processing device and control method of arithmetic processing device Pending JPWO2012172682A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013520386A JPWO2012172682A1 (en) 2011-06-17 2011-06-17 Arithmetic processing device and control method of arithmetic processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013520386A JPWO2012172682A1 (en) 2011-06-17 2011-06-17 Arithmetic processing device and control method of arithmetic processing device

Publications (1)

Publication Number Publication Date
JPWO2012172682A1 true JPWO2012172682A1 (en) 2015-02-23

Family

ID=52687718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013520386A Pending JPWO2012172682A1 (en) 2011-06-17 2011-06-17 Arithmetic processing device and control method of arithmetic processing device

Country Status (1)

Country Link
JP (1) JPWO2012172682A1 (en)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229820B2 (en) * 1982-05-10 1987-06-29 Hitachi Ltd
JPS62192824A (en) * 1986-02-20 1987-08-24 Fujitsu Ltd Access system for processor
JPS6479835A (en) * 1987-09-22 1989-03-24 Nec Corp Data processor
JPH0375939A (en) * 1989-08-18 1991-03-29 Nec Eng Ltd Information processing system
JPH06139112A (en) * 1992-10-23 1994-05-20 Fujitsu Ltd Method and device for preparing flag code
JPH0764827A (en) * 1993-08-31 1995-03-10 Kofu Nippon Denki Kk Information processing system
JPH08235073A (en) * 1995-02-28 1996-09-13 Nec Kyushu Ltd Microcomputer
JPH1011319A (en) * 1996-06-25 1998-01-16 Hitachi Ltd Method for maintaining multiprocessor system
JP2979553B2 (en) * 1989-09-13 1999-11-15 日本電気株式会社 Fault diagnosis method
JP2004326775A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Mechanism for fru fault isolation in distributed node environment
JP2004326784A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Cross-chip communication mechanism of distributed node topology
JP2005044361A (en) * 2003-07-25 2005-02-17 Internatl Business Mach Corp <Ibm> Self-contained processor subsystem as component for system-on-chip design
JP2009236879A (en) * 2008-03-28 2009-10-15 Fujitsu Ltd Scan control method, scan control circuit and device
JP2010218367A (en) * 2009-03-18 2010-09-30 Fujitsu Ltd Processing apparatus and method for acquiring log information

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229820B2 (en) * 1982-05-10 1987-06-29 Hitachi Ltd
JPS62192824A (en) * 1986-02-20 1987-08-24 Fujitsu Ltd Access system for processor
JPS6479835A (en) * 1987-09-22 1989-03-24 Nec Corp Data processor
JPH0375939A (en) * 1989-08-18 1991-03-29 Nec Eng Ltd Information processing system
JP2979553B2 (en) * 1989-09-13 1999-11-15 日本電気株式会社 Fault diagnosis method
JPH06139112A (en) * 1992-10-23 1994-05-20 Fujitsu Ltd Method and device for preparing flag code
JPH0764827A (en) * 1993-08-31 1995-03-10 Kofu Nippon Denki Kk Information processing system
JPH08235073A (en) * 1995-02-28 1996-09-13 Nec Kyushu Ltd Microcomputer
JPH1011319A (en) * 1996-06-25 1998-01-16 Hitachi Ltd Method for maintaining multiprocessor system
JP2004326775A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Mechanism for fru fault isolation in distributed node environment
JP2004326784A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Cross-chip communication mechanism of distributed node topology
JP2005044361A (en) * 2003-07-25 2005-02-17 Internatl Business Mach Corp <Ibm> Self-contained processor subsystem as component for system-on-chip design
JP2009236879A (en) * 2008-03-28 2009-10-15 Fujitsu Ltd Scan control method, scan control circuit and device
JP2010218367A (en) * 2009-03-18 2010-09-30 Fujitsu Ltd Processing apparatus and method for acquiring log information

Similar Documents

Publication Publication Date Title
EP0453394B1 (en) Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
EP2479673B1 (en) Software architecture for validating C++ programs using symbolic execution
JP2005129053A (en) Fault-tolerant multi-core microprocessing
US6732297B2 (en) Pipeline testing method, pipeline testing system, pipeline test instruction generation method and storage method
JP7088897B2 (en) Data access methods, data access devices, equipment and storage media
US7447966B2 (en) Hardware verification scripting
KR100607023B1 (en) Program processing apparatus
WO2012172682A1 (en) Arithmetic processing device and control method for arithmetic processing device
KR20050021241A (en) Program processing apparatus
JP2878503B2 (en) Integrated circuit including standard cells, application cells, and test cells
JP2007058450A (en) Semiconductor integrated circuit
JPWO2012172682A1 (en) Arithmetic processing device and control method of arithmetic processing device
CN113704040A (en) Microprocessor memory reliability testing method
EP3734491A1 (en) Method, apparatus, device, and medium for implementing simulator
Grosso et al. A software-based self-test methodology for system peripherals
JPS63193237A (en) Semiconductor integrated circuit device
US9721048B1 (en) Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system
CN114138588B (en) Method, system, equipment and medium for deriving debug information of controller
JP7172155B2 (en) Electronic control device and software generation method
CN108604205B (en) Test point creating method, device and system
CN115718685A (en) CPU test method, device, electronic equipment and storage medium
WO2011010427A1 (en) Running state monitoring apparatus and running state monitoring method
US9342359B2 (en) Information processing system and information processing method
JP2004362157A (en) Semiconductor device, method for allocating its address, and method for controlling semiconductor device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150630