本書は、大学・高専の学生、関連の初級技術者を主たる対象として、主要なアーキテクチャの一つであるMIPSを題材にとり、アーキテクチャの実際的な設計を通してコンピュータアーキテクチャを理解できる参考書。
https://www.ohmsha.co.jp/book/9784274208492/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 コンピュータアーキテクチャとMIPSの構成,命令の動作
1節 マイクロプロセッサの歴史と身近な組込みプロセッサ
2節 MIPSプロセッサのレジスタ構成と命令セット
3節 MIPSの構成部品と代表的な命令の動作
4節 サブルーチンコールの原理とMIPS命令による実現
5節 パイプライン処理の特徴と割込み処理の活用
第2章 MIPSシミュレータSPIMによるアセンブリ言語の活用
1節 SPIMシミュレータとアセンブリ言語の基礎
2節 アセンブリ言語によるアルゴリズム記述
3節 メモリの利用とサブルーチンの動作
4節 再帰呼出しと浮動小数点演算
5節 システムコールと例外処理,割込み処理
第3章 VHDLによるMIPSノンパイプラインの設計と命令の拡張
1節 ハードウェア設計のためのVHDL記述と構造
2節 コンピュータの構成部品とVHDLによる設計
3節 MIPSノンパイプラインの制御とマイクロプログラム制御信号
4節 MIPSのIF部,ID部のVHDL設計
5節 MIPSのEX部,MEM部,WB部のVHDL設計
第4章 VHDLによるMIPSパイプラインの設計と高速化技術
1節 MIPSパイプライン処理とハザード対策
2節 パイプラインレジスタとパイプライン処理
3節 パイプライン設計とVHDL記述
4節 ハザード検出とハードウェアによる対策方法
5節 マイクロプロセッサの高速化技術
付録 MIPS設計のVHDL記述
第1章 コンピュータアーキテクチャとMIPSの構成,命令の動作
1節 マイクロプロセッサの歴史と身近な組込みプロセッサ
◇コンピュータアーキテクチャ
◇4004からのマイコンの歴史
◇マイクロプロセッサの技術
◇CISCとRISCの方式
◇コンピュータの基本原理
◇メモリアーキテクチャ
◇代表的なマイクロプロセッサ
◇PIC,dsPICアーキテクチャ
◇ゲーム機のマイクロプロセッサ
◇ARM,MIPSアーキテクチャ
2節 MIPSプロセッサのレジスタ構成と命令セット
◇MIPSプロセッサの構成
◇レジスタの構成
◇メモリのアドレス
◇メモリの階層構造
◇命令のタイプ
◇基本命令
◇命令セットRタイプ
◇命令セットIタイプ
◇命令セットJタイプ
◇その他のアセンブリ言語
3節 MIPSの構成部品と代表的な命令の動作
◇MIPSの構成部品
◇1クロックの動作
◇ステージの処理
◇命令フェッチの処理
◇命令の動作(add)
◇命令の動作(addi)
◇命令の動作(lw)
◇命令の動作(sw)
◇命令の動作(beq, j)
◇制御信号
4節 サブルーチンコールの原理とMIPS命令による実現
◇サブルーチンコール
◇サブルーチンの原理
◇サブルーチンの命令
◇サブルーチンの例
◇命令の動作(jal, jr)
◇制御信号(分岐関連)
◇レジスタの退避(スタック)
◇局所変数(フレーム)
◇サブルーチンの実行とメモリ
◇コンパイラの最適化
5節 パイプライン処理の特徴と割込み処理の活用
◇パイプライン処理
◇ハザード(障害)
◇ストール,フラッシュ
◇フォワーディング
◇分岐予測
◇パイプライン処理の効果
◇割込みの処理
◇割込みの動作
◇マルチタスクの概念
◇マルチタスクの処理
VHDLのまとめ(1)
第2章 MIPSシミュレータSPIMによるアセンブリ言語の活用
1節 SPIMシミュレータとアセンブリ言語の基礎
◇SPIMの概要
◇SPIMの仕様
◇PCSpimの操作
◇PCSpimの画面
◇スタートアップ
◇main関数の引数
◇アセンブリ言語の規則
◇擬似命令(1)
◇基本命令の記述
◇レジスタの用途
2節 アセンブリ言語によるアルゴリズム記述
◇加算処理
◇マクロ命令
◇変数とポインタ
◇変数とポインタの例
◇配列の合計
◇配列の合計の例
◇繰返しループ(for)
◇繰返しループ(for)の例
◇繰返しループ(while)
◇繰返しループ(while)の例
3節 メモリの利用とサブルーチンの動作
◇メモリセグメント
◇サブルーチンの戻り番地
◇サブルーチンの引数
◇スタックポインタの例
◇フレームポインタの例
◇スタックフレームのまとめ
◇メモリのバイト順
◇エンディアンの例
◇追加命令一覧(1)
◇乗算・除算・転送命令
4節 再帰呼出しと浮動小数点演算
◇再帰呼出し
◇階乗計算のメイン処理
◇階乗計算1
◇階乗計算2
◇追加命令一覧(2)
◇条件分岐命令
◇浮動小数点規格(IEEE754)
◇追加命令一覧(3)
◇浮動小数点(単精度)の例
◇浮動小数点(倍精度)の例
5節 システムコールと例外処理,割込み処理
◇システムコール
◇擬似命令(2)
◇文字列の出力
◇整数の入出力
◇例外処理の種類
◇例外処理の例
◇割込み関連レジスタ
◇割込み処理の例
◇追加命令一覧(4)
◇アセンブリ言語の必要性
VHDLのまとめ(2)
第3章 VHDLによるMIPSノンパイプラインの設計と命令の拡張
1節 ハードウェア設計のためのVHDL記述と構造
◇ハードウェア設計
◇やわらかいハードウェア
◇ハードウェア記述言語
◇半加算器の記述例
◇VHDL記述(1)
◇VHDL記述(2)
◇階層構造設計(1)
◇階層構造設計(2)
◇テストベンチ(1)
◇テストベンチ(2)
2節 コンピュータの構成部品とVHDLによる設計
◇コンピュータの構成
◇ALUの設計
◇セレクタの設計
◇レジスタの設計
◇メモリの設計
◇VHDLによる設計
◇データパス部
◇完全同期回路設計
◇制御部
◇制御回路
3節 MIPSノンパイプラインの制御とマイクロプログラム制御信号
◇MIPSノンパイプライン設計
◇マイクロプログラム制御
◇命令の制御信号(R, I)
◇命令の制御信号(I, J, R)
◇IFステージの制御信号
◇IDステージの制御信号
◇EXステージの制御信号
◇MEMステージの制御信号
◇WBステージの制御信号
◇制御回路のVHDL設計
4節 MIPSのIF部,ID部のVHDL設計
◇MIPSのVHDL設計
◇マイクロプログラムの制御信号
◇IF部の処理
◇IF部のVHDL設計(1)
◇IF部のVHDL設計(2)
◇IF部のVHDL設計(3)
◇ID部の処理
◇ID部のVHDL設計(1)
◇ID部のVHDL設計(2)
◇ID部のVHDL設計(3)
5節 MIPSのEX部,MEM部,WB部のVHDL設計
◇EX部の処理
◇EX部のVHDL設計
◇MEM部の処理
◇MEM部のVHDL設計
◇WB部の処理
◇WB部のVHDL設計
◇テストプログラム
◇FPGAへの実装
◇実際の命令コード
◇命令の拡張
VHDLのまとめ(3)
第4章 VHDLによるMIPSパイプラインの設計と高速化技術
1節 MIPSパイプライン処理とハザード対策
◇MIPSパイプライン設計
◇パイプライン処理
◇パイプラインレジスタの構成
◇パイプラインレジスタの動作
◇パイプライン処理の例
◇パイプラインハザード
◇データハザードの例
◇データハザードの対策
◇制御ハザードの例
◇制御ハザードの対策
2節 パイプラインレジスタとパイプライン処理
◇パイプラインレジスタの情報
◇IF部のパイプライン処理
◇ID部のパイプライン処理
◇IF/ID部のパイプライン仕様
◇EX部のパイプライ処理
◇EX部のパイプライン仕様
◇MEM部のパイプライン処理
◇MEM部のパイプライン仕様
◇WB部のパイプライン仕様
◇パイプラインレジスタPR
3節 パイプライン設計とVHDL記述
◇IF部のパイプライン設計
◇IF部のパイプライン記述
◇ID部のパイプライン設計
◇ID部のパイプライン記述
◇EX部のパイプライン設計
◇EX部のパイプライン記述
◇MEM部のパイプライン設計
◇MEM部のパイプライン記述
◇WB部のパイプライン設計
◇WB部のパイプライン記述
4節 ハザード検出とハードウェアによる対策方法
◇MIPSパイプライン記述
◇テスト命令(パイプライン)
◇データハザード検出
◇ストール,フラッシュの方法
◇フォワーディングの例
◇フォワーディングのパス
◇フォワーディング(1)
◇フォワーディング(2)
◇分岐予測
◇分岐履歴情報
5節 マイクロプロセッサの高速化技術
◇キャッシュメモリ
◇キャッシュ書込み方式
◇仮想記憶
◇仮想記憶の原理
◇MMU
◇TLBの構造
◇スーパーパイプライン
◇スーパースカラ
◇マルチプロセッサ
◇ソフトコアプロセッサ
VHDLのまとめ(4)
付録 MIPS設計のVHDL記述
参考文献
あとがき