pascalの日記: 100マス計算 6
日記 by
pascal
Silphireさんの日記より、インターネットで100マス計算
足し算1回目:1分34秒33
掛け算1回目:1分47秒22
引き算1回目:1分34秒53
普段テンキーは使わないのですが、さすがにtypoが多発しそうなので初めてこのマシンでテンキーを使いました。テンキー楽だ。。
掛け算のほうが打つ回数が多くて時間がかかると思うです。
えーと、入出力のオーバーヘッドを含めて、1桁程度の整数の加減算が1.06Hz, 乗算が0.93Hzくらいのようです。計算結果をキー配置にデコードする部分と、外部ピンへつなぐときのコストがどれくらいなのかが気になる。デコーダはやっぱり別構成というかパイプライン化できたらなぁ(==
#動作環境
# マシン名:pascal
# モード:十進モード
# クロック:非同期
# 並列処理:オフ
# background job:最小限
#
#ベンチマーク
# 方式:十進一桁の数値の頻出する加減乗算
百マス計算 (スコア:1)
計算力を養った口です.小学生に,ああいう
基礎的なトレーニングはやっぱ必要だと思う.
Re:百マス計算 (スコア:1)
単純作業なんて子供はたいてい嫌がりそうですが、、
まぁ単純作業が故にはまる人ははまると思います。RPGのレベル上げみたいに(?
+1:興味深い (スコア:1)
計算しながら手を動かして目で追って...てなことを考えるともう少しクロック数はあがるのだろうか、やっぱり。
-- ラテール部参加者募集中
Re:+1:興味深い (スコア:1)
fetch(0.2sec) execute(0.2sec) decode(0.3sec) write(0.4sec)
という4ステージにわければ高速化間違いなし。0.4sec毎に出力が完了するので、100個あっても40secちょっとで終わる計算になります。
とはいってもこれが理想論で、予測分岐によるハザードはないのですが、計算ミスやtypoなどのハザードが起こりえます。私の場合、fetchの部分だけはパイプライン化しているのですが、答えのミスが発生した場合にはfetchからやりなおしているので、これによって1.1secのロスとなります。fetchミスよりはtypoのほうがはるかに多いので、最後のwriteのところだけを繰り返してもよいのですが、そこはアーキテクチャの思想です(ぉ
ミスをしなければこの1.1secのペナルティはなくなるので、これは訓練しだいだと思います。
というわけでKaturagiさんは頑張って40sec(2.5Hz)を目標にしてくださいね。応援しています。
パイプラインかぁ (スコア:1)
読みとった譜面データを足のステップに出力する際に
データをパイプラインに送ってる感じがする…….
んで,クロックパルスはBGM.
Re:パイプラインかぁ (スコア:1)
うまい人がどうなのかはわからないのですが、私なんかがやると1回ミスってしまうとその後ちょっとの時間全部ミスってしまいます。
ストールを起こすとその時点でパイプラインにあったデータを全部やりなおさなければなりませんが、リアルタイム処理だとその部分の演算が不可能になってしまうからなのだなぁ。
どの辺でハザードが起こるかといえば、主に認識部位ですね。私のRAMのアクセス速度は2Hz程度だと思うのですが、入力信号が安定する前に次々に信号が来ると、入力を正しく読み取れません。本当ならRAMじゃなくてレジスタに入れればよいのですが、あいにくレジスタが少ないもので(悲
#てことで、DDRがパイプライン化されているという話には激しく同意。