インテル® Agilex™ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/25/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

4.2.7. エラーの処理

CCUでは、訂正不可能なエラーと訂正可能なエラーの2種類が報告されます。訂正不可能なエラーとは、ハードウェアで訂正できないエラーです (ダブルビットECCなど)。訂正可能なエラーとは、ハードウェアで訂正できるエラーです。ハードウェアは訂正可能なエラーをソフトウェアに報告します。

CCUはエラーを検出してエラーに関する情報をログに記録し、割り込み (correctible_error_irqおよびuncorrectible_error_irq) として通知します。各CCUコンポーネントは、エラー報告を有効にするcontrolレジスターと、エラーのログを行うstatusレジスターの2つのレジスターセットを実装します。エラー・コントロール・レジスターは、エラー検出イネーブルビット、エラー割り込みイネーブルビット、およびエラーのしきい値フィールドで構成されています。ソフトウェアは、すべてのアクティブなコンポーネントに対してエラーの検出、訂正、およびログを有効にする必要があります。訂正可能なエラーのコントロール・レジスターのエラーしきい値フィールドは、訂正可能なエラーがログに記録されるまでに発生する訂正可能なエラーの数を決定します。設定されているしきい値に達すると、次に検出された訂正可能なエラーがログに記録されます。

ソフトウェアは、エラーレジスターのプログラミングおよび、ハードウェアによって記録されるエラーの処理を担います。リセット時にすべてのエラー・コントロール・レジスターは0に初期化され、エラーの検出、訂正、ログの記録が無効になり、割り込みがマスクされます。ソフトウェアはイネーブルビットを1に設定し、しきい値フィールドを目的の値にプログラミングする必要があります。また、エラー有効ビットとエラー・オーバーフロー・ビットはリセット時に0に初期化されます。エラーが検出されるとこれらのビットが設定され、エラー割り込み信号がアサートされます。ソフトウェアは各ビットに1を書き込みエラーをクリアする必要があります。
注: 設定されていないビットに1を書き込むことは未定義であり、エラーが損失する可能性があります。また、エラー有効ビットに1を書き込むことでも、エラー・カウント・フィールドはクリアされます。
インテルAgilex HPSでは、訂正可能な割り込みと訂正不可能な割り込みが結合されて単一のCCU_INTERRUPTを生成します。エラーのISRでは次のステップが実行されます。
  1. ISRでは、Coherent Subsystem Correctable Error Interrupt Status Register (CSCEISRn) およびCoherent Subsystem Uncorrectable Error Interrupt Status Register (CSUEISRn) を読み出し、エラーを検出したユニットを特定します。
  2. 複数のエラーが発生している場合、ISRではエラーに優先順位を付け、処理するエラーを選択します。
  3. ISRでは、最優先のエラーが発生しているユニットのCorrectable Error StatusレジスターまたはUncorrectable Error Statusレジスターを読み出します。
  4. エラー有効ビットがエラー・ステータス・レジスターで設定されると、ISRでは適切なエラー位置レジスターを読み出します。
  5. ISRでは、エラー有効ビットとエラー・オーバーフロー・ビットの一方または両方に「1」を書き込み、エラーに肯定応答します。
  6. ISRでは、エラー・ステータス・レジスターおよびエラー位置レジスターからの情報を使用してエラーの処理に必要な動作を行い、戻ります。