コンピューターサイエンス

コンピュータアーキテクチャ

コンピュータの構成と設計 5.9~5.16節

パタヘネ5.9~5.16節です。5.9 キャッシュの振る舞いは有限状態機械で表す事ができる。キャッシュとしてダイレクトマップ方式かつライト・バック方式のものを考える。このキャッシュでは状態として「アイドル」「タグ比較」「アロケート」「ライト...
コンピュータアーキテクチャ

コンピュータの構成と設計 5.1~5.4節

 パタヘネ5.1~5.4節です。ようやく下巻に到達しました。今回はあまり低レイヤーの話はなく、キャッシュを実現するためのデータ構造とアルゴリズムの話になります。 こうやって教科書を読んで自分の言葉で説明するのは絶対必要なことだしやめる気は無...
コンピュータアーキテクチャ

コンピュータの構成と設計 4.11~4.15節

パタヘネ4.11~4.15節です。前回まではパイプラインをいかにして実装するかという話題を議論していましたが、今回は更に並列度を増やして命令を実行しスループットを上げるにはどうしたらいいかという話題と、ARM・x86のパイプラインの実例が述...
コンピュータアーキテクチャ

コンピュータの構成と設計 4.8~4.10節

パタヘネ4.8~4.10です。前回はパイプラインレジスタの導入によってデータパスを5ステージに分けて動作させ、パイプライン処理ができるようになることを見ました。今回はデータハザードと制御ハザードの回避方法に関して見ていきます。4.8以下のよ...
コンピュータアーキテクチャ

コンピュータの構成と設計 4.7節

パタヘネ4.7節です。この節では4.5節までで見てきたデータパスと制御をベースとして、パイプライン処理を実装する場合要素と制御線がどのように拡張されるかが述べられています。4.7 4.5節までのデータパスを5つに分割し、それらをステージに対...
コンピュータアーキテクチャ

コンピュータの構成と設計 4.4~4.6節

パタヘネ4.4~4.6です。前回はR形式・ロード・ストア命令のフェッチと実行に必要な機能ブロック(PC、命令メモリ、レジスタファイル、ALU、データメモリ)をリストアップしました。今回は色々な命令に応じてマルチプレクサを切り替えたりALUの...
コンピュータアーキテクチャ

コンピュータの構成と設計 4.1~4.3節

 パタヘネ4.1~4.3です。前章まではMIPS命令セットアーキテクチャや、算術演算をALUとシフトを用いて実装する方法の話でした。この章からアセンブリ言語より更に低レイヤーにあたる、プロセッサがどうやってアセンブリ言語を実行しているかに関...
コンピュータアーキテクチャ

コンピュータの構成と設計 3.6~3章末

パタヘネ3.6~3章末です。並列処理のための命令に関する話です。3.6 グラフィックシステムではデータの精度はそこまで必要ない代わりにデータのベクトルに対する操作が多く、それらをまとめて実行できる命令の需要がある。そのため、128ビットの加...
コンピュータアーキテクチャ

コンピュータの構成と設計 3.1~3.5

パタヘネ3章の途中までです。算術演算はALUとシフト演算を使ってどのように実装されているのかが解説されています。3.1イントロのため割愛3.2 ビット列で表される符号付き整数を2進数で加算できるALUという装置がある。この装置で加算と減算を...
コンピュータアーキテクチャ

コンピュータの構成と設計 2.9~2章末

パタヘネ2章末までです。今回もひたすらMIPS命令セットの仕様を学んでいきます。具体例や簡単な話は飛ばしていきます。2.9 コンピュータでは文字列も数字で表される。ASCIIでは8bitで1文字を表す。また、8bit全部0の文字は文字列の終...