SSブログ

FirestormコアのALU [日常のあれやこれや]

Apple SiliconのM1のブロックダイアグラムの推測を見た先日の記事で「それ以外のALUはマイクロコードで実行か」と書いたけど、おそらくそれは間違いで、マイクロコードの必要はないな。FirestormコアにはALUが8個あるけど非対称で、整数の割り算や掛け算のできないユニットがある。つまりそのALUはフラグ操作とシフトと足し算しかできないので掛け算割り算はマイクロコードになってるのかと思った。

でもよく考えると(よく考えないでも)ディスパッチユニットに収まった時点で演算の中身はわかっている。その命令に関係するレジスタ名が割り当てられて実行可能になったとき、演算の内容によってALUを選べばいいだけだもんな。それが塞がってた場合も実行起動条件の判断と同じだもんな。マイクロコードで面積を増やしても掛け算の頻度から考えて7つのALU全部が掛け算を実行している場面はほとんどありえないから、演算種類の出現頻度の比で何を実装するかを決めればいい。したがってFirestorm側はマイクロコードは使ってないということだ。

低電力消費のIcestormはどうなってるんだろ。割り算までできるやつと掛け算までと足し算だけとブランチユニットの4つでSIMDがひとつだけとか。それだけでは消費電力はせいぜい半分で、すごく違う、とかいうとこまでいかなそうだよな。これもマイクロコードにしたからと言って面積は小さくなるけど遅くなって1命令あたりの消費電力は上がるもんな。それぞれ4つのFirestormとIcestormがチップ面積比で3:1ぐらいでキャッシュサイズも12MBと4MBなので、それに比例するぐらいもっと違うのかな。並列デコーダや大量のrenamingバッファに比べたら足し算ALUの面積なんて、シフトができる必要もないので、たいしたことないかもしれない。

そもそもFirestormとIcestormで性能比と消費電力比はどのくらいなんだろうか。性能比:消費電力比=1だとクロックを落としたり場合によっては止めたりすれば同じで、作り分ける意味ないもんな。

いやいや、もうどうでもいい。MBPは買ったばっかりだし、会社で使ってた6コアiMacもうちに運んだし、しばらくM1 Macを買うことはないもんな。

え〜ん、M1 Macなんかいらないやい。きっと酸っぱいに決まってる。
nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Apple Silicon MacのFi..Recursive enumeratio.. ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。