教えてください!
クロックサイクルが60nsのプロセッサAとクロックサイクルが30nsのBがあり、各プロセッサが命令を実行するのに、必要なクロックサイクルおよび、プログラム中での各命令の出現頻度(使用確率)が下表に従うとする。ここで、システムのプロセッサをAからBに置き換えた場合の平均的な性能向上率を求めよ。
プロセッサA
クロックサイクル数 命令の出現頻度
加減算命令 8 60%
乗除算命令 3 10%
無条件分岐 2 30%
プロセッサB
クロックサイクル数 命令の出現頻度
加減算命令 2 50%
乗除算命令 6 20%
無条件分岐 4 30%
No.3ベストアンサー
- 回答日時:
プロセッサによって命令頻度が異なるということはないので、異なるコードをA、Bそれぞれで実行したものだと解釈します。
仮に、プログラム中に命令が全部でXあるとします。
プロセッサAでは、それぞれの命令の出現数は、
加減算 X*0.6
乗除算 X*0.1
分岐 X*0.3
それぞれが必要とするサイクル数は、
加減算 X*0.6*8
乗除算 X*0.1*3
分岐 X*0.3*2
でサイクルタイムが60nsなので、この全命令Xを実行するのに必要な時間は
(X*0.6*8 + X*0.1*3 + X*0.3*2) * 60(ns)
同様にして、プロセッサBでは全命令Xを実行するのに必要な時間は、
(X*0.5*2 + X*0.2*6 + X*0.3*4) * 30(ns)
これらの比率をとればXは消えます。A,Bの性能差は比率でいうと、
(0.6*8+0.1*3+0.3*2)*60 / (0.5*2+0.2*6+0.3*4)*30 = ???
No.2
- 回答日時:
その設問ではプロセッサAのシステムで動いていたプログラムをブロセッサBのシステムで動かした場合の性能向上率を求める内容になっていますね。
(ブロセッサBのシステム下で動かしていたプログラムは関係ない)
そんなですので、
プロセッサAで動かすプログラムの中で使われる命令の出現頻度を使い
全体のプログラムを実行した場合、何クロックサイクル必要になるのかを求めてみましょう。
(100ある命令の中の60%が加減算命令・・・のように考えればOK)
でもって1クロックあたりの時間を掛ければ比較できる数値になります。
No.1
- 回答日時:
ヒント。
プロセッサA
(命令のサイクル数*出現頻度)の総和=平均必要サイクル数
必要サイクル数*60ns=平均命令実行時間
プロセッサB
(各命令のサイクル数*出現頻度)の総和=平均必要サイクル数
必要サイクル数*30ns=平均命令実行時間
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報