ぜんぜんわからん。

めっちゃねてる。

ヘネパタじゃなくてパタヘネだから

読書メモ的ななにか。

パタヘネだからね。ヘネパタは堅気が読むもんじゃないって誰かが言ってた。知らんけど。
所有しているパタヘネ(上巻)は第4版。下巻も持っているがそのうち読むのだろうか。

メモ:

MIPSについては知らないけど、ARMは低消費電力でスマホとかに使われてるとかかんとか。パタヘネではMIPSについて取り扱ってる。どーでもいいけどARMで書かれている奴も発売されているとかかんとか。中身も大体一緒らしい。たぶん手に取ることは無いでしょう。
そんなことはどーでもいいので、ザックリとメモを残していく。完璧に理解した上で書いているわけじゃないので適宜メモを追加していくつもり。

ALUってのは加算や減算,論理和等の算術演算をハードでする装置の事.

4章:プロセッサ

4.1:プロセッサ原理と手法

MIPSの命令セット(コンピュータの命令の集まり)の主要部のサブセット(一部分)、例えばメモリ参照命令(lw,sw),算術演算命令(add,and,etc..),beq命令ジャンプ命令ってあるけど、当然ALUとかCPとか命令メモリやレジスタが同じ動作するわけじゃない。その機能の各々を詳細に組んで最後に合体させてわーい!的な感じで解説するよっておはなし。なるほどぜんぜんわからん。

4.2:論理設計とクロック方式

信号をいつ読みだしていつ書き込むかタイミングを定義する方法の事をクロック方式(観念的なものだしザックリ)。単純化のためにエッジトリガクロック方式という要は立ち上がり立ち下がりで機能が動作する方式で考える(こっちのが大事)。 1クロックサイクルで動かそうって考え方が大事。

4.3:データパス構築

PC(プログラムカウンタ)に現在の命令のアドレスを保持していて、プログラムの命令を格納して指定されたアドレスの命令を出力するところを命令メモリと言っている.でPCを次の命令のアドレスに繰り上げる加算器はALUで構成。ALUを制御して加算で固定してある(加算器だけ構成してもそれの制御が出来ないからALUをわざわざ組んでるのかな?).
次の命令を指すために4バイト加算する.(R形式だのなんだのあるけどわかっていないので後日追記予定)/R形式だったらオペランド3つ使う.レジスタ2つを読み出し、1つが書き込む場所を指定してる。書き込みには書き込み先のレジスタ番号を指すものと,書き込むデータを送り込むものがある。
つまりレジスタに4つ入力が入ってくる(R形式の場合).
ここまでがR形式命令.

ここからはlw,sw命令.一般的な形として
lw $s1 ,offset($t2)sw $t1,offset($t2)的な感じ.オフセット値は16ビットでそれにベースレジスタ$t2を加算して読み出し.ぶっちゃけこの辺の理解は出来ていない感じ.符号拡張(一番左の符号ビットを上位ビットにコピーして埋める)して16->32ビットにして符号付きの値にするユニット,記憶ユニットが必要.全然わからん.

beq命令はbeq $t1 $t2 offset的な感じ.
分岐先のアドレスの算出をする必要があるので,オフセットを符号拡張してPCに加算.

ここからが謎なのだが,命令セットアーキテクチャの留意点が2つここで上がられている.
1.命令セット・アーキテクチャ上,分岐先アドレスを算出するベースとなるのは,分岐先の次のアドレス.命令フェッチ・データパスにおいてPC+4を計算しているので,その値を分岐先アドレスのベースとして使用するのは容易.
2.この命令セット・アーキテクチャでは,オフセット・フィールドは2ビット左にシフトされて,語オフセットされるようになっている.これによってオフセット・フィールドの有効範囲は4倍に拡大.
の後者に対応させるため,2ビット左シフトすつ必要がある.

らしいが,この辺マジで何言っているかわからない.f〇ck you.

ザックリ言うと,分岐命令は分岐先アドレスの計算とレジスタの内容を比較している.

符号拡張の理由から理解が出来てない感じ. 後回しにする.

単一データパスをここで構築. よくわからないけど,上で上げたデータパスの構成要素をつなげてみようって話.次にALUユニットの制御を設計する.

4.4:単純な実現方式

単純なデータパス構築の検討.さっき作った奴を必要に応じて制御線を追加する.
この辺からわからないことが多くなるので2章あたりの復習が必須. 2.5あたりくらいか.

ちょっと割愛.

4.5:パイプライン処理の概要

パイプライン処理とは複数の命令を少しずつずらして同時並行的に実行を行う操作の事.ハザードに関する理解だけしておけば問題ないかと.
それと以降の4.6~4.9,はパイプライン処理とデータパスとの関連を説明しているものでまずは4.1~4.5までの理解に努めるべき.また4.10以降も例を挙げているだけなのでとりあえずスルー

甘い部分が非常に多いが,取りあえず4章の内容はザックリなぞった形かなと思う.これから4.6~4.9を細かく読んでいこうと思う.