@ledsun blog

無味の味は佳境に入らざればすなわち知れず

MIPSとかパイプラインとか

を読んでいます。 ところどころもやもやっとするというか、不完全燃焼なところがあります。 そういう部分を次の本で補完すると良いみたいです。

おお、なんか読めるぞ! 2017年に買った5版を引っ張り出してきて読んでみました。 「4.5 パイプライン処理の概要」を読みました。 パイプラインと言えばMIPSって感じなんですね。

MIPSについて調べてみます。

MIPSアーキテクチャ - Wikipedia

1981年、スタンフォード大学のジョン・L・ヘネシー率いるチームは、後に最初のMIPSプロセッサを生むプロジェクトを開始した。

ヘネシーさんがMIPSを設計したのですね。

MIPSは最も典型的なRISCのひとつだとされる、というよりも、RISCの提唱者であるヘネシーとパターソンのそれぞれが設計した命令セット(命令セットアーキテクチャ)であるということを理由に、MIPSバークレーRISCの設計が「典型的なRISC」だとされ、それらの特徴を以て「RISCの定義」だとされているためであり、「MIPSは最も典型的なRISC」だという言明はその逆になっている。

パターソンさんとあわせてRISCなのですね。 この辺よくわかっていませんでした。 なんとなく「CISCは命令が複雑、RISCは命令が単純」くらいの理解でした。

1960年代のIBM 7030の頃には実現されていた命令パイプライン方式では、1つの命令の処理過程を複数のステージ(段階)に分割し、各ステージを順次、次のサブユニットに送って、複数のサブユニットがオーバラップして動作できるようにする。

なるほどMIPSはパイプラインの発明者ではなくて、改良者なのですね。

命令パイプライン - Wikipedia

1961年のIBM 7030(Stretch)は、マイクロプログラム方式でパイプラインと分岐予測を使用している[2]。以後のメインフレームの大半でも使用されている。

へー、1961年にはすでにあったんですね。 というかMIPSの時点で20年ぐらい経っていたのですね。 すでに、枯れたテクノロジーだったのでしょうか? 20年くらいブレークスルーが見つかっていなかった分野に切り込んだ感じなのでしょうか?

分岐予測というのも60年ぐらい前のテクノロジーなのですね。 2018年のSpectreとMeltdown*1の時まで意識していなかったので、意外でした。

「もっとCPUの気持ちが知りたいですか?」は、160ページくらいの本です。 集中して読み切ってしまって、気になった所を詳しく調べてみるのが、良さそうな使い方です。