35
3.8GHz P4-570とE0ステッピングでインテルのパフォーマンス危機を終わらせる

E0ステッピングが利用可能になりました

Socket 775 用に設計されたすべての Pentium 4 プロセッサは、最終的には E0 ステッピングに移行されますが、すべてのバージョンに必ずしもすべての新機能が組み込まれるわけではありません。

最初の機能はXDビット(実行禁止)で、メモリ領域を非実行としてフラグ付けできます。この機能の主な目的はウイルス対策です。非実行としてフラグ付けされると、バッファオーバーフローを引き起こして不正に書き込まれたプログラムコードは実行できなくなります。XD対応プロセッサは、末尾に「J」が付きます。

2つ目の機能は、プロセッサの停止状態モードがC1からC1Eにアップグレードされたことです。Windows NT 4.0では、アイドルタスクと呼ばれる機能が提供されており、何も処理が行われていないときにHALTモードが有効になります。この状態では、CPUの一部が一時的に停止し、発熱を抑えます。さらに、C1EではCPUのクロック速度とコア電圧を変更できるようになりました。

3つ目の機能は、拡張サーマルモニタリングです。P4 Willamette以降に搭載されているオリジナルバージョンは、コア温度が上限を超えてプロセッサにダメージを与えるのを防ぐため、クロックを一時的に停止できます。もちろん、システムクラッシュを防ぐ代わりに、プログラムの実行速度が著しく低下するという欠点があります。サーマルモニタリング2は、クロックサイクルを省略するだけでなく、拡張停止状態と同じ機能を使用してプロセッサのクロックと電圧を実際に低減する拡張機能です。

実行禁止ビットによる安全性

バッファオーバーフローは、Windowsシステムでよく見られる脅威です。この脅威は、完璧なソフトウェアは存在しないという事実から生じます。例えば、変数の受け渡しを考えてみましょう。悪意のあるプログラムが関数に大きすぎる値を渡す機会を得た場合、その値は他のメモリ領域を上書きする可能性があります。上書きされた領域に既に実行コードが含まれていた場合、悪意のあるプログラムはそのコードを改変し、大きな損害を与える可能性があります。

このようなバッファオーバーフローを防ぐ一般的な方法は、ソフトウェアが渡される各値を処理する前にその値をチェックすることです。しかし残念ながら、起こり得るすべての例外について検討し、適切に処理するだけの時間と洞察力を持つソフトウェア開発者はほとんどいません。

そのため、ハードウェアソリューションは非常に有効です。前述のように、新しい570では、実行を意図していないコードを含むメモリ領域にプロセッサのXDビットを使用してフラグを付けることができます。Windows XPはService Pack 2がインストールされている場合、この機能を認識し、バッファオーバーフローを引き起こすように設計された悪意のあるコードによって配置されたコードの実行を防止します。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

AMD64プロセッサはすべて発売以来、同等の機能を搭載していますが、ソケットAプラットフォームには実行防止機能がありません。AMDではこの機能をNX(Non-eXecute)と呼んでいますが、WindowsではEDB(Execute Disable Bit)と呼ばれています。ただし、注意が必要です。Windows XPではService Pack 2でこの機能が追加されますが、Windows Server 2003ユーザーはService Pack 1のリリースまでEDBのサポートを待つ必要があります。

状況によっては、EDB非対応の特定のプログラムが使用中であることをWindowsに通知し、それらのプログラムが機能し続けるようにするために、それらのプログラムを機能から除外する必要があることがあります。最善の解決策は、以下のWindowsオプションを使用することです。

ここでは、XD 用に設計されておらず、XD 機能に問題があるアプリケーションを指定できます。Windows は、XD 機能が存在しないかのようにこれらのアプリケーションを引き続き実行します。