Home > 円周率計算と演算速度

円周率計算と演算速度


  • Posted by: F&F
  • 2019年7月30日 12:12

πの話の続きである。
1997年当時、クロック周波数を338MHz迄あげたPentiumProで100万桁の計算に約6分ほどかかっていた。

現在同じ計算をCore i7-8700K 3.7GHzで行うと8秒で終了する。
更に高速な計算アルゴリズムを使うと400万桁の計算を253msで終了した。

こちらのページでは電卓による円周率の計算速度を比較している。
他の電卓よりも計算が速いと言われたHP電卓、HP42Sで円周率1万桁の計算は約1年かかるそうだ。
これがXperia AceのHP42Sエミュレータアプリでは約12分で終了したという。
Xperia AceはSnapdragon630なので、Snapdragon855の乗ったスマートフォンならば数分で計算を終えるだろう。

さらにはPCにエミュレータソフトを入れた場合には1分41秒で計算を終了したとある。
CPUはCore i3 1.7GHzだそうだ。

エミュレータと言っても電卓のプログラム(キーマクロのようなもの)を一つ一つ実行していくのだから大変だ。
HP42Sは1988年〜1995年まで販売されていたRPN電卓である。
私は短い期間だけRPN電卓を使っていた事があったのだが、その後は計算式通りのHP電卓を使い始めることになる。
RPNは演算器にとっては都合の良い計算方式だが、人間にとって都合が良いとは限らない。
勿論RPNを覚えてしまえば頭の中で式を変換しながら電卓のキーが打てるようになる。

単純な機能の電卓以外では、2×3+4でも4+3×2でも答えは10になる。
RPNの場合は先に計算させたいところからレジスタに入れていかなければならないので、3[ENTER]4[ENTER]+2×と入力する。
カッコが要らないといわれるが、カッコという概念そのものがない(人間が考えて入力する)訳だ。
こちらに解説がある。
理屈としては入力した数値がレジスタに入れられていき、演算キーを押すと直前にレジスタに入れられた数値とその一つ前に入れられた数値同士が演算されて別のレジスタに入る。
従って計算式が長くなるほど(演算キーが沢山入力されるほど)沢山のメモリを消費する。

上のページでは「一般の電卓では、×÷+ーの演算優先順位やメモリーの制限(加減のみ)を考慮し」とあるが、カッコ機能の無いごく普通の四則演算電卓ではそうなる。
多くの関数電卓では演算順序は計算機が考えてくれるので、まさに計算式通りで良い。
このページの例(6+2)÷((5-3)×2)の場合にWindowsの電卓を使うと、6+2÷((5-3)×2)で答えが表示される。

話がそれてしまった。
プログラム電卓による円周率の計算は色々行われている。
面白かったのは電卓をオーバクロックによって高速化する試みだ。
勿論電卓ではなくPCで計算すれば速いわけだが、あくまでも電卓を速くすることに力を注いでいる。

オリジナルのHP42Sは32.768KHzのクロック周波数で、消費電力は10mW程度である。
corei3/1.7GHz版の消費電力は15W、PC全体で30W食ったとするとHP42Sの3千倍になる。
消費電力と計算速度で比較するとPCが遙かに優れている。
クロック周波数はPCの方が約5.2万倍高いが演算速度は10万倍以上速い。
これもPCの効率が優れているとなるが、エミュレータを動かしている関係か効率は2倍でしかない。

   

Comments:0

コメント投稿には JavaScript が必要です。ブラウザのJavaScript 機能を有効にしてください。

サインインしなくてもコメントの投稿は出来ます。
サインインしている場合はお名前などを入力せずに、そのまま投稿できます。

登録は簡単&それによって何かが起きるわけではないのでお気軽にどうぞ。
登録ページ書き込み→確認メール送信→確認メールのURLクリックで承認、の手順です。
確認メールに書かれたURLにアクセスしないと登録は完了せず、正しいログイン状態に移行できません。
コメント フォーム
コメント投稿完了までには少し時間がかかります。
二重投稿にご注意下さい。

Home > 円周率計算と演算速度



VC