2010年2月アーカイブ

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (下)
デイビッド・A. パターソン ジョン・L. ヘネシー
日経BP社
売り上げランキング: 19229


今回からみんな大好きパイプライン。

RISCプロセッサだとパイプラインが一番アツい内容らしいので,前々から楽しみでした。

以下適当にメモ。

概要

  • 日時:'10/02/14 17:30~21:00
  • 場所:短歌会館
  • 参加者:3人
  • 内容:前半は「6章 パイプラインを用いた性能向上」の頭の方を読み合わせ。後半はMIPSエミュレータの製作。


6.1 パイプライン処理の概要

  • パイプライン処理とは,複数の命令を少しずつずらして同時並行的に実行する実現方式。
  • 最近のMIPSは17ステージくらいあるらしいよ?→そんなに分けて何やってんの?
  • MIPSを簡易的に5ステージで考えるなら,洗濯物の例も5ステージにすべきだろjk
  • 例題でjumpが含まれていないけど,jumpされるとパイプラインが上手く機能しないからだよね。
  • μOPって外部に公開されてるの?
  • 構造ハザード:一緒に実行される命令の組み合わせにハードウェアが対応出来ない。もうどうしようもない。
  • データハザード:まだ前の処理が終わっていなくて計算に必要なデータが揃わない状態。解決策としてフォワーディングという手法がある。フォワーディングとは,計算結果のデータがレジスタやメモリに保存される前に,内部バッファから引き出して使用すること。例題読めばだいたい分かる。
  • 制御ハザード(分岐ハザード):条件分岐があるせいで,後続する命令が実行すべき命令か否か判断出来ない状況。解決策はストール,分岐予測,遅延分岐の3つがある。
  • ストール:ようはnopして分岐を待つだけ。
  • 分岐予測:分岐結果を予測して先行して処理を進めること。履歴から動的分岐予測をすると的中率は90%程度にもなるしい。
  • 遅延分岐:依存関係があるものを後回しにして,依存関係がない命令を先に実行すること。


MIPSエミュレータの製作

  • MIPSサブセットに絞って,エミュレータを作ろう!
  • 各自好きな言語使っていいので,僕はとりあえずJavaにしたけど,Scalaで書けとか言われてる。あとの二人はRubyとHaskellだそうです。
  • とりあえずテキストファイルから4byteずつ読み出すだけのファイル処理部分を書いたら時間切れになった。
ファインマン物理学 (1)
ファインマン
岩波書店
売り上げランキング: 47108


今回はベクトルについて勉強したんだけど,なぜ今更?という感じの内容でした。

以下適当にメモ。


概要

  • 日時:'10/02/14 14:30~17:00
  • 場所:どえりゃあ
  • 参加者:3人
  • 内容:「第11章 ベクトル」の読み合わせ


11-1 物理学における対称性

  • 対称性のやぶれが問題となっているらしいよ。
  • 対称性ってのは再現性があるとかそんな意味でいいのかな?
  • ぜんぜん関係ないけど,山川書店の歴史の教科書が面白いらしい。


11-2 平行移動

  • 太郎と次郎って原著では何なの?トムとか?
  • xyzの原点どこにとってもよいという話。→平行移動に対して対称ということ。


11-3 回転

  • いつになったらベクトルの話が始まるのさ?
  • xyzの軸はどの向きにとってもよいという話。
  • つまり座標系は平行移動したり回転させたりしても問題ないよってこと。
  • ただ軸の取り方で計算の都合が良くなったり悪くなったりするので気を付けること。


11-4 ベクトル

  • 大きさと方向を持った量がベクトル。
  • 高校までだとアルファベットの上に矢印で,大学の教科書だと太字で書いてる気がする。
  • ってかベクトルの表記って最初に誰が考えたの?


11-5 ベクトル代数

  • 基本的にはスカラーに対する演算と同じように足し算とか引き算とか出来る。
  • 幾何学的には,足し算は矢印をつなぐ感じ。引き算は矢印の向きを逆にしてつなげる感じ。


11-6 ベクトル記号によるニュートンの法則

  • 運動方程式をベクトル使って書き直してるだけ。


11-7 ベクトルのスカラー積

  • ベクトルの掛け算は,スカラー積(内積)とベクトル積(外積)の2種類ある。
  • 内積は各成分ごとの積をとって,それらを全部足す。つまり内積をとると,ベクトル量はスカラー量になっちゃうので,別名スカラー積ということ。
  • KE:Kinetic Energy → 運動エネルギーのこと。
  • 外積は後の章でやるらしいよ。

100221_ekiden.JPG


ピンチヒッターとして中日西濃駅伝を走ってきたよ。

市民ランナーでも出られる駅伝は珍しいので,とても良い大会だと思います。

あと各人の距離が短いので,アンカーの僕は暇つぶしウォームアップで隣の区の走者の所に遊びに行ったりしてました。

レース自体は途中で左足をつってしまい,かなりボロボロの走りになってしまい残念。。

でも今年はタスキ繋がったんだぜ? ひゃほーい!

ゴール直後はしばらく立ち上がれず,まだまだ自分の練習不足を痛感したので,これからも練習を頑張ろうと思います。

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (下)
デイビッド・A. パターソン ジョン・L. ヘネシー
日経BP社
売り上げランキング: 45976


仕事忙しくてブログにまとめてる時間がなかったけど,ざっくり書いておく。

今回の内容はかなり重かったので,勉強会後に読み直してみたりした。

制御ユニットの設計するところとかは説明が長いだけで,結局最後に「以上を図ほげほげにまとめる。」とか書いてあるので,そこだけ熟読すればなんとかなる・・・はず。

とりあえず以下適当にメモ。


概要

  • 日時:'10/01/24 17:30~21:00
  • 場所:短歌会館
  • 参加者:4人
  • 内容:前半は5章読み合わせの続き,後半はMIPSソフトウェアエミュレータ作成


5.5 マルチサイクルを用いた実現方式

  • 単一クロックサイクルは効率悪いから,マルチサイクルに設計変更しようぜ!という話。
  • マルチサイクルの利点①:各命令でクロックサイクル数がバラバラでもいい。単一クロックサイクルの時みたいに遅い命令に全部合わせる必要がなくなる。
  • マルチサイクルの利点②:1つの命令の実行中に,空いている機能ユニットを共用出来る。例えばデコードしてる時に,次の命令のフェッチをするとか。
  • どうやって実現するかというと,データパスの合間合間にレジスタかませて値を保持するようにするだけ。
  • 詳細は本参照だけど,IR,MDR,A,B,ALUOUTというレジスタが追加される。
  • あと,機能ユニットが異なる目的のために共有されるので,その切替のためにいくつかマルチプレクサも追加されている。→だから制御信号がより複雑になるorz
  • で完成したのが図5.28になる。制御信号のほとんどは単一クロックサイクルの時と同じ。新しい制御信号は,新しく追加されたマルチプレクサへの切替信号がいくつかあるだけ。
  • 命令実行の各ステップ(フェッチ→デコード→・・・などなど)については図5.30にまとまっている。
  • 制御ユニットをどうやって設計するか?→制御仕様をどうやって記述するか?→有限状態機械を使えばいんじゃね?という流れ。
  • 有限状態機械はdominion525さんのスーパーマリオの例えが面白かった。マリオがキノコ,フラワー,1upキノコ,クリボーにぶつかることを想定して有限状態機械を上手く説明してくれた。
  • Moore方式とMealy方式についてはわかるVerilogHDL入門読書会をやった時に出てきたよね?


5.6 例外

  • いままでは例外処理を考慮してなかったので追加しよう!という話。
  • 例外と割込みは同じような意味で使われるけど,主としてエラーによるものを例外と呼んでいる。
  • EPCレジスタ:問題を起こした命令のアドレスを記録しておくためのレジスタ。
  • Causeレジスタ:例外の原因を記録するためのレジスタ。とりあえずここでは未定義命令と算術オーバフローの2つだけを考慮する。
  • 未定義命令は単純にOpフィールドで判断出来る。算術オーバフローは付録BのALU設計を読め!ということらしい。
  • 上記レジスタに書き込みを行うための制御線として,EPCWrite,CauseWriteも新たに追加する。あと例外原因を切り替えるマルチプレクサへの信号としてIntCauseというのも追加する。


5.7 マイクロプログラミング:制御設計の単純化

  • PDFの内容だから省略。CISCの話だから誌面から省略されてるってことか?


5.8 ハードウェア設計言語を使用したディジタル設計の手ほどき

  • PDFの内容だから省略。ちらっと見たらVerilogの話みたいだから,あとでコードリーディングとかしようぜ?


5.9 実例:最近のPentiumの実現方式の構成

  • ハイパーIntelディスタイムだから省略。たぶんパイプラインとか頑張ってる話だよね?


5.10 誤信と落とし穴

  • 複雑な命令をマイクロコードで実現しても,単純な命令の組み合わせよりも遅くなる可能性がある。→RISCプロセッサをCISCプロセッサでエミュレートしているような状態→μOpのこと。→x86ディス?
  • 制御記憶に余裕があれば,新しい命令を追加するコストはかからない。→x86は上位互換しすぎてどうのこうの・・・。


5.11 おわりに

  • 5章はMIPSサブセットに限定して実際にCPUを設計したりした。→MIPSソフトウェアエミュレータを作ろう!
  • 制御部分が一番面倒くさい。→有限状態機械とかで制御仕様をわかりやすく記述することが重要。
ファインマン物理学 (1)
ファインマン
岩波書店
売り上げランキング: 57366


またブログに書くのが遅くなったけど,久し振りに開催されたファインマンのメモなど。

概要

  • 日時:'10/01/24 14:30~17:00
  • 場所:どえりゃあ
  • 参加者:4人
  • 内容:10章読み合わせ


10-1 ニュートンの第3法則

  • 三体問題で難しいとか言うなら多体問題とか無理だろ。
  • 多体問題と言えば,砂時計のシミュレーションは難しいらしい。砂1粒1粒を考慮するのが困難?
  • 当然かもしれないけど,あまり役立たないと思われている分野は誰も研究していない。
  • 作用・反作用の説明がややこしい。→常に2つの粒子間で考えればおk?


10-2 運動量の保存

  • 力とは運動量の時間的変化の割合→外力が0だと運動量の時間的変化の割合は0なので,運動量が保存されているということ。
  • いままでの保存則と何が違うの?エネルギー保存と同じようなものなの?→外力0を前提としているからちょっと違うんじゃね?
  • よりもの方が書き方として一般的なの?
  • バネの件は高校生の実験とかでありそう。
  • 結論としては,運動方程式で外力0にした状態が運動量保存則と思えばおk?


10-3 運動量は保存する!

  • 「保存される」ではなく,あえて「保存する」なのは何が言いたいのか?
  • 10-3はエアホッケーの話だと思えば良い。
  • 空気溝の注釈はこの本の刊行時期からすると,かなりホッテントリ的だ。
  • ちょうど良くくっつくのはどんな感じなの?そんなことあるの?
  • 爆発しろって流行ってるよね,twitter的な意味で。


10-4 運動量とエネルギー

  • 弾性衝突:衝突前後で損失が0のような衝突のこと。
  • 弾性衝突の前と後とで速度が等しいというのは運動エネルギー保存の問題。対称的衝突後の物体の反発速度が互いに等しいというのは運動量保存の問題。→ここら辺の切りわけがよく分からない。
  • 質量の等しい2つの物体が異なる速度で動いて衝突すれば,速度を交換するだけ。→ビリヤードをイメージするとわかりやすい。


10-5 相対論的運動量

  • 質量は速度によって変化(速ければ重くなる)するので,運動量も速度によって変化する。→いままでの話は質量が不変という前提だけど,実際は違うよということ。
  • 186000マイル/sは光速のこと?→いつものことながら単位系どうにかしてくれ。SIにして訳注つければいいじゃん!
  • 光も運動量を持つので,光が物体に当たる時には運動量を与えることになる。→ソーラーセイルのことかな?

プロフィール:ttl

  • ・勉強と運動が好きです。
  • ・カエルさんも好きです。
  • ・λはもっと好きです。
  • 購読する このブログを購読

最近のコメント

アーカイブ

このアーカイブについて

このページには、2010年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年1月です。

次のアーカイブは2010年3月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.27-ja