soaraによる
2008年10月14日 9時00分の掲載
CPUでもセーフモード部門より。
CPUでもセーフモード部門より。
ミシガン大学のValeria Bertacco准教授のグループは、CPUに含まれる構造的欠陥(エラッタ)を回避する技術「semantic guardian」を開発した(Technology Reviewの記事、論文のPDF)。このsemantic guardianは、CPUに組み込まれた監視機能で、CPUがテストされている条件下でのみ動作するように制御するというもの。テストされてない状況でCPUが活動しそうになった場合、semantic guardianがテスト済みの状況で活動するようにCPUのモードを変更する。これにより、未知のエラッタにも対応できるようになるため、製品リリース前のテストに費やされている時間及びコストを削減できるという。
CPUのエラッタと言えばAMDのBarcelonaに存在したTLBエラッタが記憶に新しいが、こうした技術が組み込まれていればあのリリース前後のゴタゴタも避けられたのかもしれない。
関連ストーリー
TLBエラッタを解消した新Phenomが登場 58 コメント
まちがってたら ごめんね (スコア:1, 興味深い)
un-trusted状態になったら
形式的検証のされた
シングルスカラ実行に切り替える、
みたいな
遅くなる?
当たり前じゃん
キモは
un-trusted状態の検出ロジックを
自動で合成する
ことかな
コメントを書く
既にやっているのでは? (スコア:1)
コメントを書く
Re:既にやっているのでは? (スコア:2, 参考になる)
これまでのCPU
バグはブラックリストで回避。
製造後に検証してバグが見つかれば、ブラックリストに追加し、修正用のマイクロコードを追加する。
ブラックリストが増えれば増えるほど、回避用のコードに分岐する可能性が増えて遅くなる。
提案されているCPU
バグはホワイトリストで回避。
製造後に検証して安全な状態が見つかれば、ホワイトリストに追加する。
ホワイトリストが増えれば増えるほど、回避用のコードに分岐する可能性が減って速くなる。
AMDのBarcelonaは前者の回避方法なので、マイクロコードで修正したけど、とっても遅くなりました。
前者の回避方法で速度を落とさないためには、バグをつぶして設計しなおす必要があります。
後者の場合、検証の作業量が問題でしょうね。
論文では、in-orderの簡単なCPUなら、2000個のホワイトリストで数%の面積増、
5%のパフォーマンスロスとなっています。
これが最近の複雑なCPUだと、どれだけのホワイトリストが必要なのか。
組み込み向けCPUなら状態数が比較的少ないですし、出荷時のホワイトリストで
パフォーマンス上問題がなければ、出荷後に修正が必要ない(そして速度が落ちない)
このの方式が向いているのかもしれません。
コメントを書く
親コメント
Re:既にやっているのでは? (スコア:2, 参考になる)
コメントを書く
親コメント
エラッタの意味 (スコア:1, すばらしい洞察)
エラッタの意味を勘違いしていないか? エラッタは正誤表という意味だよ。
ハードのバグなどによって、データシートに修正があったときにメーカーが発行するのがエラッタ。
「xxxにエラッタが出た」と言うのはバグが出たと言っているのではなくて、文書が発行されたということ。
コメントを書く
Re:つまりこういうことですね (スコア:1)
コメントを書く
親コメント