ページ内ジャンプ:

アレゲなニュースと雑談サイト

soaraによる 2008年10月14日 9時00分の掲載
CPUでもセーフモード部門より。

hide.jikyll 曰く

ミシガン大学のValeria Bertacco准教授のグループは、CPUに含まれる構造的欠陥(エラッタ)を回避する技術「semantic guardian」を開発した(Technology Reviewの記事論文のPDF)。このsemantic guardianは、CPUに組み込まれた監視機能で、CPUがテストされている条件下でのみ動作するように制御するというもの。テストされてない状況でCPUが活動しそうになった場合、semantic guardianがテスト済みの状況で活動するようにCPUのモードを変更する。これにより、未知のエラッタにも対応できるようになるため、製品リリース前のテストに費やされている時間及びコストを削減できるという。

CPUのエラッタと言えばAMDのBarcelonaに存在したTLBエラッタが記憶に新しいが、こうした技術が組み込まれていればあのリリース前後のゴタゴタも避けられたのかもしれない。

表示オプション しきい値:
  • Anonymous Coward : 2008年10月14日 9時37分 (#1436724)
    複雑怪奇なスーパースカラ実行が
    un-trusted状態になったら
    形式的検証のされた
    シングルスカラ実行に切り替える、
    みたいな
    遅くなる?
    当たり前じゃん
    キモは
    un-trusted状態の検出ロジックを
    自動で合成する
    ことかな
  • マイクロコードの書き換えでエラッタを回避しているのは、ある意味論文の手法の実践といえるのではないでしょうか?
    • glasstic (32934) : 2008年10月14日 23時58分 (#1437346)
      元論文を流し読み程度ですが、こんな感じかなぁ。

      これまでのCPU
      バグはブラックリストで回避。
      製造後に検証してバグが見つかれば、ブラックリストに追加し、修正用のマイクロコードを追加する。
      ブラックリストが増えれば増えるほど、回避用のコードに分岐する可能性が増えて遅くなる。

      提案されているCPU
      バグはホワイトリストで回避。
      製造後に検証して安全な状態が見つかれば、ホワイトリストに追加する。
      ホワイトリストが増えれば増えるほど、回避用のコードに分岐する可能性が減って速くなる。

      AMDのBarcelonaは前者の回避方法なので、マイクロコードで修正したけど、とっても遅くなりました。
      前者の回避方法で速度を落とさないためには、バグをつぶして設計しなおす必要があります。

      後者の場合、検証の作業量が問題でしょうね。
      論文では、in-orderの簡単なCPUなら、2000個のホワイトリストで数%の面積増、
      5%のパフォーマンスロスとなっています。
      これが最近の複雑なCPUだと、どれだけのホワイトリストが必要なのか。

      組み込み向けCPUなら状態数が比較的少ないですし、出荷時のホワイトリストで
      パフォーマンス上問題がなければ、出荷後に修正が必要ない(そして速度が落ちない)
      このの方式が向いているのかもしれません。
  • エラッタの意味 (スコア:1, すばらしい洞察)

    Anonymous Coward : 2008年10月14日 19時42分 (#1437101)

    エラッタの意味を勘違いしていないか? エラッタは正誤表という意味だよ。

    ハードのバグなどによって、データシートに修正があったときにメーカーが発行するのがエラッタ。

    「xxxにエラッタが出た」と言うのはバグが出たと言っているのではなくて、文書が発行されたということ。

  • 2個のコメント が現在のしきい値以下です。