FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

UCBのAdvanced Computer Architectureの講義資料を読む(2.半導体の性能向上)

コンピュータアーキテクチャの論文を読んでいたのだが、どうもよく知らない項目がある。 よく考えてみたらコンピュータアーキテクチャの最新トレンドも含め最近勉強量が不足していたので、ここらへんでもう一度復習しておきたい。 せっかくなので海外の大学の講義資料を読んでみよう。

  • Advanced Computer Architecture

https://www.ece.ucsb.edu/~strukov/ece154BSpring2018/home.htm

せっかくなのでまとめていく。

目次

性能向上に関する問題

  • 問題:なぜこれほどまでの性能向上を達成することができたのか?
f:id:msyksphinz:20200310233836p:plain:w600

デナードスケーリング

  • トランジスタと配線のサイズがs倍小さくなったとする。
  • 電力Vs倍小さくなったとする。

結果

  • 密度:~ [tex:s2] 倍向上する。
  • 論理ゲートのキャパシタ \text{Cgate} : ~1/s
  • Saturation電力 I_\text{ON} : ~1/s
  • ゲート遅延 Tgate : ~ \text{Cgate}V/I_\text{ON}
  • クロック周波数: s

動作周波数の向上

f:id:msyksphinz:20200310233900p:plain

問題:1986年に何が起きたのか?なぜ性能向上率が変化したのか?

  • 解答:CISCからRISCへと変化が起き、アーキテクチャ的な向上が見られた。

  • CISCからRISCへと変化することで、 ExecTime = IC * CCT * CPIはどのように変化するか?

設計 IC:命令数 CPI:Clocks Per Instructions CCT: Clock Cycle Time
単一サイクル設計(SC) 1 1 1
複数サイクル設計 1 N >= CPI > 1 > 1/N
複数サイクルパイプライン 1 > 1 > 1/N

問題:

パイプライン化により性能が向上する(命令をオーバラップさせることによりサイクル当たりに実行できる命令数が向上する)が、ILPを向上させるにあたり障壁となるのは何か?

「メモリの壁」の問題

f:id:msyksphinz:20200310233944p:plain:w400
  • DRAMアクセスには数百サイクル必要である。
  • したがって、メインメモリへのアクセスを抑制して効率的にメモリアクセスを実行する手法が必要である。
  • 解答2:データおよび制御ハザードの存在(パイプラインストールとフラッシュ)

様々なILPを向上させる技法

技法 効果
フォワーディングとバイパッシング データハザードによるストールを抑制する。
遅延分岐と簡単な分岐のスケジューリング 制御ハザードのストールを抑制する。
コンパイラによる基本的なパイプラインスケジューリング データハザードによるストールを抑制する。
動的なスケジューリング(スコアボーディング) 真の依存関係によるデータハザードストールを抑制する。
ループアンローリング 制御ハザードによるストールを抑制する。
分岐予測 制御ストールを抑制する。
リネーミングによる動的スケジューリング。 データハザードによるストール、出力依存、逆依存によるストールを抑制する。
ハードウェア投機実行 データハザードと制御ハザードストールを抑制する。
動的メモリ曖昧性解消 メモリによるデータハザードのストールを抑制する。
サイクル当たりに複数の命令を発行する。 CPIを向上させる。
コンパイラにより依存関係を解析する。ソフトウェアパイプライン、トレーススケジューリング CPIを向上させる。データハザードのストールを抑制する。
コンパイラの投機実行のためのハードウェアサポート CPIの向上、データハザードのストールを抑制、分岐ハザードのストール。

テクノロジのトレンドサマリ

  • 集積回路のテクノロ

    • トランジスタの密度:年率35%
    • ダイサイズ:年率10~20%
    • 全体的な集積率:年率40~55%
  • DRAMの容量:年率25~40%

  • フラッシュの容量:年率50~60%

    • DRAMと比較してビット単価は15~20倍安い
  • 磁気ディスクのテクノロジ:年率40%

    • フラッシュと比較してビット単価は15~25倍安い
    • DRAMと比較してビット単価は300~500倍安い。