コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (下)
posted with amazlet at 09.12.29
デイビッド・A. パターソン ジョン・L. ヘネシー
日経BP社
売り上げランキング: 56264
日経BP社
売り上げランキング: 56264
またブログに書くのが遅くなってしまった。スマソ。。
上巻はMIPS機械語命令の解説ばかりだったけど,今回から下巻に突入してだんだん面白い内容になるはず!
以下適当にメモ。
概要
- 日時:'09/12/13 17:30~21:00
- 場所:短歌会館1F和室
- 参加者:4人+issmさん
- 内容:前日の忘年会のせいで皆gdgdな感じだった。いちお5章を読み始めたところ。
5.1 はじめに
- IA-32,Intelは複雑だという話が繰り返されている。基本的にこの本はCISCを否定しないと話が進まない?
- 有限状態機械という言葉はwktkするよね。中二病的な意味で。。
- てかマイクロプロセッサ・アーキテクチャ入門を読もうぜ!
- 5章で取り上げるMIPSサブセット→lw,sw,add,sub,and,or,slt,beq,j
- PCからメモリにアドレス投げると,対応する命令がレジスタに投げられて,レジスタから対応するデータがALUに投げられて,最後にALU演算結果がメモリに格納される。おおまかにこんな感じ?
- レジスタファイルの説明はどこだ?
- マルチプレクサはcase文で書けそうだね。
- 制御信号周りがよく分からない件。
- 本来は命令メモリ/データメモリとか区別する必要はない。
5.2 論理設計とクロック方式
- ちゃんと付録B読まなきゃ駄目かもね。てか読もうよ?
- 電源プラグを抜いても~のくだりはおかしくね?普通に消えるでしょ?
- アサートする/ネゲートするの表現は一般的なの?ロジック屋さんは使ってるの?
- 不確実性にコンピュータ設計者は耐えられないw
- 状態論理要素ってかフリップフロップはクロックに同期して入力信号を保持する。
- 自己診断のヒント→図5.4を見ればわかる。
5.3 データパスの構築
- やっとレジスタファイルの説明が出てきたぞ。
- R形式って何だっけ?→レジスタを2つ読み出し,その内容に対してALU演算を実行するような命令形式のこと。
- メモリユニットは単純にcase文で書けそう。
- PCは32bit分のD-FFあればおk?
- ALUの制御線に入力する値で演算の種類を指定する。→つまりこれもcase文でいけそう。
- 加算器はそのまま+演算するだけ。
- レジスタはRegWriteの有効無効をif文で書いて,有効時は「書き込みレジスタ」で指定したレジスタに「書き込みデータ」を格納する。無効時は「読み込みレジスタ1,2」で指定したレジスタの内容を「読み込みデータ1,2」に出力する。
- データメモリユニットも上記レジスタと同じような感じでいけそう。
- 符号拡張ユニットは符号に注意して0詰めるだけでしょ。
- マルチプレクサをうまく使って素子を節約するとか。
- 結局図5.11みたいになるのは何となく分かるけど,やっぱり制御線周りがよく分からん。
5.4 単純な実現方式
- MIPSサブセット(lw,sw,beq,add,sub,and,or,slt,j)に限定して,ALU制御ユニットと主制御ユニットを設計しよう!という話。
- ALU制御ユニット:ALUOp(主制御ユニットで生成される信号2bit)と機能コード(R形式の下位6bit)の合計8bitを入力して,ALU制御入力を生成する。ようはALUにどんな演算をさせるかを指示する信号を作っている。
- 主制御ユニット:MIPS命令のopフィールド(上位6bit)から,命令メモリ,レジスタ,ALU,データメモリ,各マルチプレクサに対する制御信号を生成する。詳細は図5.16と図5.18にまとまっている。
- で,以上の内容は単一クロックサイクルのシステムなので,非常に効率が悪い。→一番遅い命令に合わせてクロック周波数が決まるから。


コメントする