• 締切済み

合計ビット数

4語(16バイト)からなるブロックを使用した64Kバイトのキャッシュを実現するために必要な合計ビット数を算出せよ.この値はキャッシュの容量とは異なる.キャッシュの容量は通常はキャッシュに格納されるデータのバイト数を指すからである.キャッシュを実現するためのビット数は,データとタグと有効ビットのすべてを格納するのに必要な記憶容量を表す。 この問題で エントリが4K個あり 各エントリは 128bit(データ)+16bit(タグ)+1bit(有効ビット)=145bit ここまで分かったのですが答えが 593,920bit 145*4K では答えになりません どうすればいいのでしょうか?教えてください.よろしくお願いします

  • toza
  • お礼率78% (15/19)
  • 科学
  • 回答数1
  • ありがとう数2

みんなの回答

  • ceita
  • ベストアンサー率24% (304/1218)
回答No.1

128bit(データ)+16bit(タグ)+1bit(有効ビット)=145bit これでは16Byte単位にならないので、 111bit無駄になりますが、 128bitのデータ格納するのに、256bit = 32Byte必要ということになります。 つぎに、 64KByte = 524288bitのデータを格納したいのですから、 524288/128 = 4096個データが必要です。 32Byte × 4096個 = 131072Byte = 1048576bit ではないでしょうか。

toza
質問者

お礼

アドバイスありがとうございます

関連するQ&A

  • C++での24bit符号付き整数値の処理

    現在wavファイルからデータを読み出し、少数倍して再び格納するプログラムを作成しています。 量子化ビット数が16,32bitの場合は読み出したデータをshort型,int型の変数に入れて、そのまま計算が出来るのですが、C++には24bitの変数型がないため、24bitデータの処理に苦戦しています。 1サンプルあたり24bitで格納されているデータを読み出し、(double)倍したのち再び24bitずつ(3byte間隔で)書き込むにはどのようにすれば良いでしょうか? 一度int型に格納し、計算してから上位3byteを書き込む方法が簡単だとは思うのですが、負の値の扱いに困っています。 どなたかサンプルプログラムをお教えいただけると幸いです。

  • 5.1byteは何bitですか?

    シスアドの勉強をしてるのですが、わけがわかりません。 特に進数については全く理解できません。 <問題> Q5.1byteは何bitですか? 2bit 8bit 10bit 回答が付いてない問題なので、正解が分かりません。が、私の感覚では、8ビット=1バイトだから、 答えは0.63ビットでは・・?と思います。 実際の回答と、どうしてそうなるのかを教えていただけないでしょうか?

  • 連想記憶という方式

    連想記憶がどのような方式か説明せよ。という問題です。 連想度が頭に浮かびました。 キャッシュメモリのデータ格納構造について 複数セットのタグを持てば同じエントリアドレスでも複数データの格納を行うことが可能となる。このタグのセット数(ウエイ)を連想度と呼ぶ。データ格納構造の相違は連想度の相違でもある。 このタグのセット数を利用したデータ格納構造のことを連想記憶と呼ぶのでしょうか?

  • 2進数からアスキーコードへの変換についって

    趣味で電子工作を行っているものです。 picマイコンを使用して、A/D変換の結果10bitのデータを得ました。 8ビットのマイコンなので2つのレジスタに分かれてデータが格納されています。(上位2ビットと下位8ビット) この2進数のデータを10進数に変換し、一桁ごとにアスキーコードにして、シリアル通信を用いてPCに送りたいと思っています。 ここで、10bitのデータの2進数から10進数への変換。 10進数のデータを一桁ずつアスキーコードへ変換。 の2つのやり方がわかりません。 2進数のデータのままPCに送り、PCのソフト側で変換するほうが簡単なのですが、今回はPIC側で変換し、アスキーコードで送る必要があります。 プログラムに使用する言語はアセンブリです。 どなたか分かる方がいましたら教えてください。

  • プロセッサ(32bitと64bit)の違い

    最近、サーバ系のプロセッサでIntel XeonやItanium2等 出ています。両者の大きな違いはアーキテクチャというのが32bitか64bitと言うことのようですが、アーキテクチャが違うと何が違うのでしょうか? 単純に周波数やキャッシュ容量で性能比較はできないのでしょうか?

  • bit数について教えてください。

    1.0~99999999までの数を表記するために必要なbit数は? 2.8桁を持つ正と負の両方の値を格納するために必要なbit数は?

  • ハードウェア実験について

    ワンボードマイコンに使用しているメモリーには11本のアドレスピンがあり、メモリーの最小番地は16ビットの2進数で表すと0000000000000000、最大値は0000111111となります。 各番地には8ビットのデータが格納されます。 ここで実験のマイコンは8ビットを1バイトとして扱うので、メモリーの容量は2048バイトとなるのですが、これは何故2048バイトとなるのですか? どなたか詳しく教えてもらえないでしょうか?よろしくお願いします。

  • 32bitと64bitのコンピューター

    身の回りには沢山のパソコンがあります。32ビットが多いと思いますが、64ビットのパソコンも5%くらいあるでしょうか。 さて、パソコンの中の何がbit数を決めているのでしょうか?CPU?OS?マザーボード? 4ビットのパソコンで7+3を計算すると、10にしたくてもマイナス6になるんでしたっけ(マイナス2の3乗足す2)?8ビットのパソコンで127+3を計算すると、130としたくてもマイナス126になるんでしたっけ(マイナス2の7乗足す2)? 任天堂64っていうゲーム機がありましたが、2の64乗個の整数を扱えるからこういう名前なんですか? bit数は計算可能な整数の範囲だと記憶しているのですが、これは何で決まりますか?128ビットのパソコンを作るのってハードル高い?8ビットや16ビットだと、ユーチューブの再生が遅くなったりする? 蓮舫さんが嫌いな京っていうスーパーコンピューターは何ビット?

  • 16進数のバイト数

    16進数のバイト数を出力させます。 printf("%d byte\n",sizeof(0x12)); ⇒4 byte 4bit×2=8bit(1byte)になると思ったのですが、なぜ4byteになるのでしょうか。 基礎的なことかもしれませんが、原因が分からず悩んでしまいました。 もしお分かりの方いらっしゃいましたら教えてください。

  • ビットデータの取得方法について

    32    24 23  16 15    87    0 +--------+--------+--------+--------+ |11000111 |11000111 |11000000 |00000000 | +--------+--------+--------+--------+ ↑のようなビット情報から 24-34bitの1byteにデータa 22-23bitの2bitにデータb 16-21bitの6bitにデータc 14-15bitの2bitにデータd がつめられている場合 データa,b,c,dを参照するためにCで (1)シフト演算で参照する方法 (2)構造体のビットフィールドで参照する方法 をご教授いただけないでしょうか?