2010年03月08日

i486SX-33MHzでスーパーπ104万桁演算

スーパーπというのは、円周率の計算をするプログラムで、よくパソコンのCPU-メモリ系の性能テストの一つとして行われ、普通は104万桁の計算をして、それにどれくらい時間がかかるか計測して、時間が短いほど高性能ということになります。

最近のパソコンは、104万桁の演算に十数秒しかかからない・・ものすごい性能になっています。

ちなみに、速いパソコンは今後も出てきますから・・そちらではなく、古いパソコンだったら、どれくらい時間がかかるか・・ということに興味を示す友人がいて・・

私の改造されたFM-TOWNSで56分ほどかかったという話をしたとき、改造前のi486SX-33MHzで104万桁計算したらどれくらい時間がかかるか調べて欲しいという要望が・・・

さすがに、浮動小数点演算機能のないi486SXで浮動小数点演算を多数行うスーパーπを実行したら、いったいどれくらい時間がかかるか見当がつかず、テストをためらっていましたが・・

結局、ODPスロットに入っているAm5x86 133MHzを取り外して・・計算することに(爆)

486SX-33MHzでスーパーπ104万桁演算これが、その結果です・・

概ね50時間もかかっている・・・

i486SXというCPUはWindows95が出る前のWindows3.1の頃によく採用されていたCPUで、それまでのCPUと違い、高速化技術が実装されたCPU・・

高速化技術として、キャッシュメモリの搭載(ただし、容量は僅か8KB)・・そして、処理部分にパイプラインが導入され、多くの命令が1クロックで処理できるようになったCPUです・・また、高性能版のi486DXでは、浮動小数点演算機能も内蔵されました・・i486SXはi486DXと同じコアを使い、浮動小数点演算機能を使えなくして安価にしたCPUです。

つまり、Windows95が出る前は104万桁計算に50時間近くかかっていたのが・・今の最新のパソコンでは、十数秒しかかからない・・15年程度の間に、大幅な性能アップが実現していると感じます。

kensan156m at 23:09│Comments(7)TrackBack(0) 電気・通信・PC等 

トラックバックURL

この記事へのコメント

1. Posted by はやぶさ いさむ。♪   2010年03月10日 22:22
5 おもしろい性能実験ですね。
円周率って、リーマン予想という並びですよね。
ゼータ関数における、非自明なゼロ点は一直線上になるという。
素数の出現順序が円周率の数字の出現順序と同じらしいけど、
150年たっても誰も証明できていないので、
今でも、SSLなど暗号には150ケタとか200ケタの素数を使いますが、
パソコンで円周率の計算をするのは、
素数の並びを計算するのと似ているそうです。
おもしろい実験を、これからも時々のせてください。
たのしく読ませていただきます。ありがとうございます。
(*^-^)/
文章の書き方がヘンだったらごめんなさい。
2. Posted by けん   2010年03月10日 23:51
>はやぶさいさむさん
この性能測定で使った円周率を演算するプログラムは、もともとスーパーコンピュータで円周率を演算するために開発されたプログラムで・・

現在、Windows上で動く物がフリーで公開されています。

自分のパソコンにインストールしてみて、どれくらいで演算が終わるか試してみると面白いと思います・・

最近のパソコンなら104万桁なら1分以内で終えるはずです・・

ちなみに、もっと大きな桁数で計算することもできます。

Windows95が出る前のパソコンだと、50時間近くかかる円周率の計算・・・今のパソコンは1分以内・・単純計算すると50時間は、3000分・・これが最近のパソコンなら30秒程度とすれば、演算速度は6千倍になっていることになります。
3. Posted by はやぶさ いさむ。♪   2010年03月12日 21:55
5 また来ました。
あの、むかし仕事でi286を搭載したPCを使ってましたが、
めっちゃくちゃ処理が遅くて、i386のパソコンを支給されたとき
処理が2倍くらい速く感じました。
OSは、MS-DOSでした。
i486SXですら浮動小数点演算が基本的には搭載されてないそうですが、
i286とかi386というのは、i486SXのどの程度の能力かご存じないですか?
パソコンメーカーは、NECで、PC98のあとに記号がありましたが
今は覚えていません。
わからなかったら、知らないというコメントで構いませんが、
もし、ご存じでしたら、ご案内というか簡単な説明をいただけると
ありがたいです。おねがいします。
4. Posted by けん   2010年03月12日 23:06
>はやぶさいさむさん
i286及びi386とi486の速度がどれくらい違うかですが・・これはどのようなソフトを使うかにもよります。

今のインテルの32ビットCPUの命令体系ができたのがi386で、i486はその高速版となります・・具体的には、キャッシュメモリの搭載とパイプライン処理の導入・・これにより同じクロックのi386に対して4倍くらい処理能力がアップしたと言われています。

そして、i286はi386と違い、16ビットCPUです・・扱えるメモリも最大で16MBまで・・計算するときに一度に2倍の桁数を扱える方が速いことは、すぐに分かると思います・・

i286用のWindowsもあったのですが、ほとんど普及せず、主に16ビットOSのMS-DOSを動かすことがほとんどでした・・性能的には、i386に比べると、1命令を実行するのにより長い時間がかかります。また動作周波数もi386より低速なので、i386に切り替えたら大幅に速くなると思います。

続く・・
5. Posted by けん   2010年03月12日 23:07
続き・・・

i286もi386も浮動小数点ユニットは別に購入して取り付けるような構造になっていましたが、この浮動小数点演算ユニット(コプロセッサ)は非常に高価で、ほとんどの人が浮動小数点ユニット無しで使っていたと思います・・

なお、i486は浮動小数点ユニットを内蔵しているのが基本的な構成で、その安価なバージョンとして浮動小数点ユニットを機能しないようにしたi486SXが用意されました。

i486はその後、倍速クロックで動くi486DX2・・3倍速クロックで動く上でキャッシュメモリを倍の16KBにしたDX4が登場して、DX4の動作周波数は100MHzに達し、その頃登場した、次世代のCPUであるペンティアムが60MHzと66MHzだったので、DX4とどちらが速いか・・なんて話題もありました。

ちなみに、i386CPUで以後のインテル系のCPUの命令セットができあがり、現在も同じ命令で動いています・・(MMX命令やSSE命令など拡張はされましたが・・・)

つまり、速度面やメモリの容量など物理的には無理ですが、32ビット版のWindows XPやVistaや7もi386やi486上で理屈上は動くことになります。

最近になって64ビットCPUが普及し、Windows7からは32ビット版と64ビット版が自由に選べるようになっています(メーカーにもよりますが)・・しかし、速度面では64ビットと32ビットでほとんど差がありません・・

64ビットは、あくまで広大なメモリを使うためにあると考えた方がよいかと思います・・
6. Posted by はやぶさ いさむ。♪   2010年03月15日 22:43
5 貴重な情報をありがとうございます。
i286が16ビットだというのを初めて知りました。
16ビットと32ビットでは理論上では4倍も
処理速度が違いますから、けんさんの言われることは、
当然だと納得し、また後述の文章から歴史がよくわかりました。
ただ、最後のところで32ビットと64ビットは
あまり変わらないという不思議な説明に悩み始めました。
64ビットだと理論上は処理速度は32ビットの
4倍になると思うのですが、違うのでしょうか?
7. Posted by けん   2010年03月16日 00:27
>はやぶさいさむさん
何故、32ビットから64ビットになっても速度向上は少しであるか?・・というご質問ですが。

これは、パソコンで扱うデータがどれくらいの桁数の物を扱っているかで分かると思います。

8ビットでは256通り・・つまりマイナスを省いて数字を表現すると0〜255までなので、普段の計算でも足りません、この場合、これより大きな数字を扱うとなれば、プログラムが何段階も計算を繰り返すようにして結果を出します・・結局、時間がかかります。

16ビットだと65536通り・・金額の計算でも、これだけでは足りません・・

32ビットだと4294967295通り・・10億の桁まであります・・日常の計算ならこの範囲内と思います・・

また、各種デジタルデータは音楽CDが16ビットであることはご存じだと思います・・・つまり32ビットあれば音楽の処理は十分できます・・画像は24ビットで表現します・・R・G・Bが各8ビットなので、本当は8ビットごとに計算していると思いますが・・例え24ビットまとめて処理しても32ビットで十分です。

つまり、64ビット分必要なデータを処理して初めて64ビットの真価が発揮できるのです。そのためには、例えば音楽データを48ビットにするとか、画像や映像のデータは各色16ビットにした上で、ソフトがそれに対応する必要があります。

現時点では、そこまで大きなデータは少ないので、速度面であまり違わないのです。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔