SL3CD(PentiumIII-500)

 

PentiumIIIの外観

SL3CD 表面

SL3CD 裏面

SL3CD パッケージシール

PentiumIIIは、米国時間1999年2月26日にインテル米国本社から発表されると同時に、秋葉原でも27日からリテール版の一斉販売が始まった。実のところ、国内ではまだ日本インテルが未発表の製品であり、言わば秋葉原全体による前代未聞の一斉フライング発売である。(^^;)
筆者は、27日ちょうど出張帰りに秋葉原で遭遇し、謎が解くためにクラクラときて人柱でPentiumIII-500MHzをゲットしたのであった(^^ゞ

これまでバルク品として販売されてきたPentiumIIIのカートリッジにはCPU名称がないものだったが、リテール版もまったく同じくない。また、コア電圧に関しても1.8Vでなく2.0Vで仕様である。上の画像は、PentiumIIIから黄緑を基調としたパッケージに貼られたシールだが、これからもコア電圧が2.0V仕様ということがわかる。
カートリッジに記述されてる仕様やSPECは次のように書かれていた。
     500/512/100/2.0V S1
     99050713-0294 MALAY
     i(M)(C)'98 SL3CD
常用のベンチマークなどをいくつか走らせてみたが、現時点のストリーミングSIMD拡張命令に対応してないアプリケーションにおいては、速いPentiumIIであるだけである(^^;)。それでも、純正ファンと定格電圧のデフォルト仕様において、丸一日をかけて560MHz(112*5)で動かしてみたが、まったくエラーなしで安定して稼動するのも魅力的である(^^)v。
使い方によっては、拡張命令の効果は絶大なようなので、一刻も早いアプリケーションの対応を期待する。 (1999/02/28)

 

ストリーミングSIMD拡張命令の謎
PentiumIIIの実力を知るには、どうしても「ストリーミングSIMD拡張命令」を語らねばならない。耳慣れない言葉であるが、いままで開発コード名の「Katmai」と呼ばれてきたプロセッサから、正式名称の「PentiumIII」になると同時に、これまで「KNI」(Katmai New Instruction)と呼ばれてきた命令セットも「ストリーミングSIMD拡張命令」と呼ばれることになった。

SIMDについて解説を加える。これまでの世の中の大多数のプロセッサは、1個の命令で1個のデータを処理するSISD(Single Instruction, Single Data)方式をとっているが、これまでと比較にならないほどのデータ量の取り扱いが要求される昨今では、この方式の限界が見えてきた。
そのため、これまで二種類の拡張がなされてきた。一つは、1個の命令で複数のデータを処理するもので、SIMD(Single Instruction, Multi Data)と呼ばれる。もう一つは、複数の命令で複数のデータを処理するMIMD(Multi Instruction, Multi Data)と呼ばれるものだ。

PentiumIIIは前者のSIMD方式を用いて、新規に追加された128ビットレジスタと、そのレジスタを有効に利用する拡張命令群によって成り立つが、従来との互換性を維持しつつ、かつ大幅なデータ処理の高速化を図ろうとするものだ。

「ストリーミングSIMD拡張命令」に戻るが、SIMDを有効に使うための約70の新命令が追加されたが、おおよそ次のようなものだ。
 1)SIMD FPを利用した演算
  新レジスタを使って、4個の浮動小数点演算が一度に処理できる。
 2)SIMDを使った整数処理
  新レジスタを使って、複数の整数演算する命令群も追加された。
 3)ストリーミングメモリ命令
  メインメモリからL1、L2キャッシュへの読み込みと、
  逆の書き出しを指定する、ストリーミング命令が追加された。
浮動小数点演算に関しては、加減乗除や論理演算に加え、逆数演算までが実装されており、グラフィックスの特殊効果処理に威力を発揮すると思われる。整数演算については、大小比較、加算等が実装されていて、ビデオのリアルタイム圧縮/展開に効果的であろうと思われる。
また、これらの高速演算ユニットのデータフローを適切にコントロールする役割がストリーミング命令になるようだ。

課題は、拡張命令を使わないプログラムでは効果がないことと、新規のレジスタの待避/復帰を行うためのOS側の対応が必要となる。後者について、Windows98ではDirectX6.1を組み込めば可能となり、WindowsNT4.0では、下記のインテルが提供する「ストリーミング拡張命令ドライバ」を組み込むことで可能となる。websetup.exe(1608KB)

上記ドライバには、ドライバが正しくインストールされたか確認するためのデモユーティリティが同梱されいて、SIMD命令の実行能力を証明するベンチマークもある。ベンチマークはVoxelという地形生成を実行するアプリケーションで、通常の浮動小数点命令の場合と、「ストリーミングSIMD拡張命令」に含まれるSIMD-FP命令を使った場合の、1秒あたりに生成される有効なフレーム数(fps)がタイトルバー上に表示される。結果のタイトルバーのみキャプチャした画像を掲載するが、約2倍の高速化がはかれたことを示している。 (1999/03/01)

SIMDオフの場合

SIMDオンの場合


上記のインテルから提供される「ストリーミングSIMD拡張命令ドライバ」はService Pack 4では必須であったが、現在最新のService Pack 5ではサポートされているので不要だ。
"If you are using Service Pack 5, you do not need the driver. Service Pack 5 supports Streaming SIMD Extensions."                (1999/07/24)


Service Pack 4で動いたVoxelのベンチマークはService Pack 5では動かないので、正しく「ストリーミングSIMD拡張命令ドライバ」(SSE)が組み込まれたかはデバイス情報にて確認する。
コントロールパネルからデバイスを開いて、「intlfxsr」のデバイスが有って「開始」「ブート」となっていれば、SSEは正しく組み込まれていて働いてることになるのだ。 (1999/09/23)

SSEが正しく組み込まれた時のデバイス情報(intlfcsr)

 

解剖改造室はこちらへ Click.gif (7509 バイト)

 

 

リンクメニュー