| Q1 |
「キャッシュ・エラー・レジスタ(27)の内容は不定であり、ER、ED、ET、EEビットは1にセットされる可能性がある。
このビットがセットされることにより、キャッシュ・エラー・ベクタにジャンプする可能性がある。」
と考えて宜しいでしょうか?
|
| A1 |
いいえ、違います。
リセット後の通常動作時、キャッシュ・エラー・レジスタを読んでも、不定ですので、無視してください。
キャッシュ・エラー例外が発生し、キャッシュ・エラー例外のベクタにジャンプしたとき、
キャッシュ・エラー・レジスタの内容は有効です。キャッシュ・エラー・ベクタにジャンプ後にこのレジスタを読み、
原因を調べてください。
ご心配のような、リセット後のレジスタがたまたま 1 にセットされた事によって
キャッシュ・エラー・ベクタにジャンプする訳ではありません。
|
| |
| Q2 |
ユーザーズ・マニュアル 7.2.10 キャッシュ・エラー・レジスタ(27)についての質問ですが、
1) キャッシュ・エラー・レジスタに要因が立った場合には、VR5000に対して割り込みを発生させるのでしょうか?
|
| A2 |
キャッシュ・エラー例外が起きると、VR5000のユーザーズ・マニュアルの『7.3.9 キャッシュ・エラー例外』
に記載されているベクタにジャンプします。
|
| |
| Q3 |
2)キャッシュ・エラー・レジスタの要因はクリア出来るのでしょうか?
(出来る場合には、クリア方法をお教えください)
|
| A3 |
クリア出来ません。キャッシュ・エラー例外は、パリティ・エラー例外です。原因としては、ノイズなどハードウエアに致命的な問題が起きています。 電圧が不安定になっていないか等、ハードウエアに問題がないかご確認ください。
|
| |
| Q4 |
VR5000を搭載したシステムで Floating point exceptionが発生しています。
mul.d $f16,$f10,$f8
命令で発生しているのですが、どのような条件でおこるのでしょうか?
|
| A4 |
これは命令とオペランドの形式が合わないために起きた問題です。
『mul.d $f16, $f10, $f8』について御説明いたします。
<『mul.fmt fd, fs, ft』について> 注:fmtは、S or Dのみ fd, fs, ftは、
VR5000/VR10000 命令編UMに記載されているとおり、fmtのオペランドでしか、正しく扱われません。
すなわち、今回の『mul.d $f16, $f10, $f8』の場合、$f16, $f10, $f8は全て倍精度である必要があります。
しかし、御社から頂いた $f10, $f8のレジスタの値は単精度であり、cvt.d.s命令で倍精度に変換しないと、
$f10, $f8はディノーマル数と認識されますので、今回のように未実装演算例外が発生します。
|
| |
| Q5 |
Cache命令の Fillを実行中にパリティ・エラーが発生している場合、キャッシュ例外は発生しますでしょうか?
|
| A5 |
はい、キャッシュ例外は発生します。
|
| |
| Q6 |
二次キャッシュからのリード時、先頭2ワードにパリティ・エラーがあった場合でも、
リード・データ 8ワード分すべて 1次キャッシュに格納され、Validとなるのでしょうか?
(パリティ・エラーがあったデータは、ソフトにて破棄しなければならないのでしょうか?)
|
| A6 |
この場合、ハード的に該当のキャッシュ・ラインは、invalidになります。
ソフトで invalidにする必要はございません。また、このとき、キャッシュ・エラー例外を発生します。
|
| |
| Q7 |
二次キャッシュからリード時先頭 2ワード以外にパリティ・エラーがあった場合は、
エラー・データ(エラーしたまま)一次キャッシュにそのまま書かれますでしょうか?
それとも付け直すのでしょうか?
|
| A7 |
VR5000シリーズは、L1cache に格納するデータのパリティ・チェックは、
最初の入力データ(double word)に対してのみ実施します。
残り 3 double word にエラーがあっても、L1cache に格納され、
CPU がこれらのエラー・データにアクセスしたときに、初めてパリティ・チェックを行い、
キャッシュ・エラー例外を発生します。
|
| |
| Q8 |
また、一次キャッシュがライトバックされるとき、全ワードのパリティ・チェックをCPU内で実施していますでしょうか?
それとも実施していないのでしょうか? また、パリティは付け直したりしていますでしょうか?
|
| A8 |
パリティをチェックし、エラーが発見されれば、キャッシュ・エラー例外を発生します。
|
| |
| Q9 |
1次キャッシュでパリティ・エラーが発生した場合、
キャッシュ・エラーしたラインはすべてハードで Invalidするのでしょうか?
それとも、ソフトで Invalidする必要があるのでしょうか?
|
| A9 |
この場合、VR5000としてはパリティ・エラーを検出して通知するだけです。
ハードウエアとしては、それ以上の事はおこないません。従って、後の処理はソフトで行う必要があります。
|
| |
| Q10 |
VR4400のマニュアルを見ると仮想コヒーレンシ例外について記述されているのですが、
VR5000のマニュアルには、仮想コヒーレンシ例外について記述されている部分が見つかりません。
|
| A10 |
仮想コヒーレンシ例外がサポートされているのは、VR4000/VR4400のみです。
従いまして、VR5000では、仮想コヒーレンシ例外は発生しません。
|