アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の問題を、わかる範囲で結構ですのでどなたか解いて頂けないでしょうか?
これは友人から得た過去の問題なのですが答えは配布されておらず、この問題を出題した先生も今は変わってしまっていて聞くに聞けません。
もうすぐ試験で、テスト勉強の参考にしたいのですが、何卒どうかお力添えをお願い致します。


ある企業が現在のチップAlpha の浮動小数点命令のみ9倍高速に実行するチップBeta を開
発した.あるプログラムをBeta で実行したところ浮動小数点演算に要した時間は全体の1/4
であることが判明した.

(a) この応用におけるBeta のAlpha に対する速度向上度を求めよ.
(b) Alpha でこの応用を実行するとき,浮動小数点演算に要する時間の比率を求めよ.
(2)君の会社が販売しているプロセッサは,250MHz で動作するが浮動小数点ハードウェアを
持たないためFP 命令はソフトウェアでエミュレートしている.このチップであるベンチマー
クを実行したところ,実行時間は5.00 秒,平均CPI は1.30 で,各タイプの命令の実行数は次
表になっていた.

命令タイプ             命令数
分岐                 7,750,000
整数演算              3,800,000
ロード/ストア            9,750,000
浮動小数点演算(FP 命令数) 17,500,000

(a) 実行時間のうち,浮動小数点演算をエミュレートしている時間(有効数字3 桁)を求めよ.
(b) 浮動小数点命令1 個のエミュレートに要している平均命令数を求めよ.


[3]君は新プロセッサの主任設計者である.プロセッサとコンパイラの設計は一応完了し,そのまま
発売するか,更に改良するか判断しなければならない.担当者と議論した結果次の2 種の選択肢が有ることが判明した.
A.
現状のままにする.このマシンをFuji と呼ぶ.クロックは1GHz で,シミュレータで次のような
結果が得られた.
命令タイプ  CPI   頻度
A        2     40%
B        3     25%
C        3     25%
D        5     10%

B.
クロックを高速化する.このマシンをShirane と呼ぶ.クロックは1.2GHz で,シミュレータで次
のような結果が得られた.
命令タイプ    CPI    頻度
A          2     40%
B          2     25%
C          3     25%
D          4     10%

(1)それぞれのマシンのCPI を求めよ.
(2)それぞれのマシンのネイティブMIPS 値を求めよ.
(3)Shirane はFuji に比べてどれだけ高速か.
(4)コンパイラチームからコンパイラの改良が可能で,次のように命令数を減らせると言ってきた.
Fuji に改良コンパイラを用いたマシンをHodaka とよぶ.
命令タイプ   MA に対する実行命令数の比
A             90%
B             90%
C             85%
D             95%
Hodaka のCPI を求めよ.

(5)Hodaka はFuji に比べてどれだけ高速か.
(6)Shirane に新コンパイラを適用したマシンをYari とよぶ.Yari はFuji に比べてどれだけ高速か.

A 回答 (3件)

[3]


(1)
Fuji... (2×0.4)+(3×0.25)+(3×0.25)+(5×0.1) =平均 2.8 CPI
Shirane... (2×0.4)+(2×0.25)+(3×0.25)+(4×0.1) =平均 2.45 CPI

(2)
Fuji... 1000Mクロック/秒 ÷ 2.8クロック/命令 ≒ 約 357 MIPS
Shirane... 1200Mクロック/秒 ÷ 2.45クロック/命令 ≒ 約 490 MIPS

(3)
490÷357=約1.37倍

(4)
命令数が減っても,1命令の実行に必要なクロック数は変わらない。(1)と同じ 平均 2.8 CPI

(5)
Hodaka... (2×0.9×0.4)+(3×0.9×0.25)+(3×0.85×0.25)+(5×0.95×0.1) ≒ 2.5
これは Fujiでは1秒間かかっていた実行時間が,
Hodakaでは 2.5/2.8 ≒ 0.89秒で実行できるようになったということ。
すなわち 2.8/2.5 = 1.12倍高速だといえる。

(6)
Yari... (2×0.9×0.4)+(2×0.9×0.25)+(3×0.85×0.25)+(4×0.95×0.1) = 2.1875
Fuji→Shiraneの向上は (3)より 1.37倍,
Shirane→Yariの向上は 2.45/2.1875 = 1.12倍で (5)と同じ。
よって,1.37×1.12 ≒ 約1.53倍高速だといえる。
    • good
    • 0
この回答へのお礼

おぉ、丁寧で的確な回答をありがとうございます!!
本当に助かりました!!!

お礼日時:2011/07/21 18:15

(2)


CPIとは,クロック/命令(Cycles Per Instruction)のこと。
分岐... 7750k命令÷5秒×1.3 = 2015kクロック/秒【値1】
整数演算... 3800k命令÷5秒×1.3 = 988kクロック/秒【値2】
ロード/ストア... 9750k命令÷5秒×1.3 = 2535kクロック/秒【値3】

250MHz = 250,000kクロック/秒【値4】なので,
このベンチマークテストを実行中,
このチップで遊休やハザードが発生しなかったとすると,
1秒間における,浮動小数点演算がエミュレートされた後のクロック数は,
値4-(値1+値2+値3) = 244,462kクロック/秒

(a)
244,462k/250,000k ×5秒 ≒ 4.89秒

(b)
1秒間中の浮動小数点演算命令数は,17500k÷5秒 = 3500k命令/秒
浮動小数点演算がエミュレートされた後の命令群が1秒間中にいくつある?
244,462kクロック/秒 ÷1.3クロック/命令 ≒ 188,048k命令/秒
よって,188,048k÷3500k ≒ 平均53.7命令
    • good
    • 0

とりあえず最初の問題だけ。



(b)
Alphaでこの応用プログラムを実行した際の
非浮動小数点演算:浮動小数点演算 の時間比は,
(3/4 × 1):(1/4 × 9) = 3:9 = 1:3

(a)
Betaを用いたときのこの応用プログラムの実行時間を1とすると,
Alphaを用いたときの実行時間は,
(3/4 × 1)+(1/4 × 9) = 12/4 = 3
よって速度向上度で言うと,BetaはAlphaの 3/1倍 = 3倍
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!