Skip to content

九州大学 システム情報科学府 情報理工学専攻 2020年度 計算機アーキテクチャ

Author

Yu

Description

【問 1】

論理関数 \(H(a, b, c, d)\) を図で示されるように関数 \(F(a, b, c, d),G(a, b, c, d)\) および NAND ゲートを使って実現することを考える.関数 \(H\) および関数 \(G\) の真理値表が以下のように与えられる時,関数 \(F\) の最簡積和形を示せ.

【問 2】

\(5\) つのステージからなるパイプライン式データパスを有するマイクロプロセッサについて考える.実装されたパイプラインステージは,IF(命令取得),ID (命令デコード),EX(実行),MEM(メモリアクセス),ならびに,WB(ライトバック)である.以下の各問いに答えよ.

(1) プログラム実行時間は,「実行命令数」「平均 CPI(Clock cycles Per Instruction)」「クロックサイクル時間」の積で近似できる.シングルサイクル・データパス方式(\(1\) 命令の実行を \(1\) クロックサイクルで実行する方式)と比較した場合,パイプライン処理がプログラム実行時間に与える影響を説明せよ.

(2) パイプライン式データパスで発生する RAW (Read After Write) ハザードを解消する代表的な実装として「パイプラインストール」と「データフォワーディング」がある.これらの実装法の利点と欠点を説明せよ.

(3) 命令発行幅は \(1\) と仮定する.このパイプラインで達成できる IPC (Instructions Per Clock cycle) の上限を答えよ.

【問 3】

\(16\) ビットのアドレス(adr[15:0])を入力とする \(2\) ウェイ・セットアソシアティブキャッシュの設計について考える. バイトアドレッシング方式であり \(1\) 語は \(4\) バイトとする. 各キャッシュアクセスにおいて,adr[15:8],adr[7:4] ならびに adr[3:0] は,それぞれ,タグフィールド,インデックスフィールド,オフセットフィールドとして参照される. 以下の問いに答えよ.

(1) キャッシュブロックサイズを答えよ.

(2) キャッシュサイズを答えよ.

(3) レベル \(1\) キャッシュと主記憶からなるメモリシステムを想定した場合,平均メモリアクセス時間(AMAT: Average Memory Access Time)は下の式で表される. ここで,キャッシュヒット時間はキャッシュアクセス時間と同義と考えて良い. より高いキャッシュ連想度を採用することの利点と欠点を AMAT を用いて説明せよ.

AMAT = キャッシュヒット時間 + キャッシュミス率 × キャッシュミスペナルティ

Kai

【問 1】

\[ H = \overline{FG} \]
a b c d F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 x
0 0 1 1 0
0 1 0 0 x
0 1 0 1 0
0 1 1 0 x
0 1 1 1 x
1 0 0 0 x
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 x
1 1 1 1 x
ab\cd 00 01 11 10
00 1 x
01 x x x
11 x x
10 x 1 1

【問 2】

(1)

  1. クロックサイクル時間の短縮:パイプライン処理では、各ステージが短いクロックサイクル時間で実行できるため、全体のクロックサイクル時間が短くなります。
  2. 並行性の向上:パイプライン処理では、複数の命令が同時に実行されるため、全体の実行速度が向上します。
  3. パイプラインハザードの影響:パイプライン処理では、パイプラインハザードが発生することでCPIが増加し、実行時間が長くなる可能性があります。

(2)

パイプラインストール:

利点:

  • シンプルな実装で、ハードウェアの複雑さが比較的少ない。
  • データ依存性が発生した場合に、後続の命令を一時停止してデータが利⽤可能になるのを待つため、ハザードが解消される。

欠点:

  • 後続の命令がストールされるため、パイプラインの効率が低下し、IPC(Instructions Per Cycle)が減少する可能性がある。
  • パイプラインストールが頻繁に発生すると、プロセッサの性能が大幅に低下する。
データフォワーディング:

利点:

  • 後続の命令がデータを待つことなく実行できるため、パイプラインの効率が向上し、IPCが向上する可能性がある。
  • データ依存性がある場合でも、パイプラインストールが発生しにくくなるため、プロセッサの性能が向上する。

欠点:

  • ハードウェアの複雑さが増すため、実装が難しくなる。
  • すべてのRAWハザードがデータフォワーディングで解消できるわけではなく、場合によってはパイプラインストールが必要になることがある(例:ロード命令の結果がすぐに利⽤可能でない場合)。

(3)

\(1\)

【問 3】

(1)

\(16\) バイト

(2)

\(512\) バイト

(3)

利点:

  1. キャッシュミス率の低下: キャッシュ連想度が高いと、キャッシュ内でのデータの配置が柔軟になるため、キャッシュミスが発生しにくくなります。これにより、キャッシュミス率が低下し、AMATが短くなります。
  2. ローカリティの向上: キャッシュ連想度が高いと、データのローカリティが向上し、特定のデータに対するアクセスが高速化されます。これもAMATを短くする要因となります。

欠点:

  1. キャッシュヒット時間の増加: キャッシュ連想度が高いと、キャッシュ内でのデータの検索に時間がかかる可能性があります。これにより、キャッシュヒット時間が増加し、AMATが⻑くなることがあります。
  2. ハードウェアの複雑さとコスト: 高いキャッシュ連想度を実現するには、より複雑なハードウェアが必要となり、コストが増加します。このコスト増加は、性能向上のためのトレードオフとして考慮されるべきです。