6

私は客観的なタイプの質問を解決しようとしていますが、試験に来ました。私は実際に正しい答えを知りません、そしてそれを得る方法も知りません、あなたの助けが必要です. ありがとうございました 。

質問 : あるシステムでは、メイン メモリ アクセス時間が 100 ns です。キャッシュはメイン メモリよりも 10 倍高速で、ライトスルー プロトコルを使用します。読み取り要求のヒット率が 0.92 で、CPU によって生成されたメモリ要求の 85% が読み取り用で、残りが書き込み用である場合。次に、読み取り要求と書き込み要求の両方の平均時間の考慮事項は次のとおりです。

a) 14.62ns

b) 348.47ns

c) 29.62ns

d) 296.2ns

私の仕事 ::::

さて、メモリアクセス時間= 100ns

キャッシュ アクセス時間 = 10 ns (10 倍速い)

In order to find avg time we have a formula

Tavg = hc+(1-h)M

   where h = hit rate
     (1-h) = miss rate
       c   = time to access information from cache
        M  = miss penalty  (time to access main memory)

ライト スルー操作: キャッシュの場所とメイン メモリの場所が同時に更新されます。

CPU によって生成される要求の 85% が読み取り要求であり、15% が書き込み要求であるとします。

Tavg = 0.85(avg time for read request)+ 0.15(avg time for write request)
     = 0.85(0.92*10+0.08*100)+0.15(avg time for write request)

//* 0.92 はリード要求のヒット率ですが、ライト要求のヒット率は与えられていません ??

書き込み要求のヒット率と読み取り要求のヒット率が同じだとすると、

  = 0.85(0.92*10+0.08*100)+0.15(0.92*(10+100)+0.08*100)
  =31 ns

書き込みリクエストのヒット率が0%だとすると、

  = 0.85(0.92*10+0.08*100)+0.15(0*110+1*100)
  =29.62 ns
4

3 に答える 3

3

あなたの2番目の仮定は正しいです。

ライトスルー キャッシュを使用すると、変更されたブロックがすぐにメモリに書き込まれ、次にディスクに書き込まれます。ディスク アクセス時間は指定されていないため、式から除外されます。私の表記は少し異なりますが、将来の読者のためにそのように投稿します。William Stallings Operating Systems: Internals and Design Principlesに記載されている表記法を使用しました。

与えられた:

Tm = 100ns
Tc = 10ns /* 10x faster than Tm */ 
Hr = 0.92 /* Hit rate reading */
85% reading => 15% of the time writing

解決:

The effective access time for reading:
Te_r = Hr * Tc + (1-Hr)Tm = 0.92*10 + (1 - 0.92)100 = 9.2 + 8 = 17.2

The effective access time for writing, is determined from the Hit rate Hw,
which is always 0, because the data must be immediately written onto the 
memory.
Te_w = Hw * Tc + (1-Hw)Tm = 0*10 + (1 - 0)100 = 100

Taking into account the percentage:
0.85*17.2 + 0.15*100 = 14.62 + 15 = 29.62

                                                                    Q.E.D
于 2016-03-28T09:50:13.043 に答える
2

読み取りのみを考慮した平均アクセス時間 = 0.92*10 + 0.08*100 = 17.2 ns。

書き込みのみを考慮した平均アクセス時間 = 100 ns (ライトスルーでは、ヒットまたはミスであってもメモリに戻って更新する必要があるため。ヒット率 = 0.5 およびミス = 0.5 と仮定すると、0.5*100 + 0.5* 100 = 1*100)

したがって、読み取りと書き込みの合計アクセス時間は、- 0.85*17.2 + 0.15*100 = 14.62 + 15 = 29.62 ns になります。

**読み取りのヒット率と同じ書き込みのヒット率を想定することはできません。書き込み要求 (ライトスルー) の場合は、どのような場合でも、メモリに書き戻す必要があります。したがって、書き込みアクセス時間はメモリ アクセス時間と等しくなります。

于 2014-05-19T14:45:47.810 に答える
0

ライトスルー方式の場合で、キャッシュミス時にメインメモリから直接データを読み込んだ場合、

Tavg(for write)=Hw*Tm +(1-Hw)*Tm = Tm

Hw=書き込みヒット率、Tm=メインメモリアクセス時間

この式では、キャッシュ ヒットとミスの両方のケースで、通常 Tm>>Tc であるため、Tm 時間自体でデータの更新と読み取りを同時に行うことができます。したがって、読み取りの Tc は無視できます。

したがって、この質問の書き込みのヒット率を知る必要はありません。答えは 29.62ns です

于 2013-07-08T11:46:27.820 に答える