第12回パタへネ読書会に行ってきた

| コメント(0) | トラックバック(0)
コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第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ずつ読み出すだけのファイル処理部分を書いたら時間切れになった。

トラックバック(0)

トラックバックURL: http://ttlweb.jp/cgi-bin/mt/mt-tb.cgi/948

コメントする

プロフィール:ttl

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

アーカイブ

このブログ記事について

このページは、ttlが2010年2月28日 00:50に書いたブログ記事です。

ひとつ前のブログ記事は「第10回ファインマン物理学読書会に行ってきた」です。

次のブログ記事は「第11回ファインマン物理学読書会に行ってきた」です。

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

Powered by Movable Type 4.27-ja