• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:キャッシュメモリシステムの性能についてで質問です)

キャッシュメモリシステムの性能についての質問とは?

このQ&Aのポイント
  • キャッシュメモリシステムの性能について質問があります。
  • メモリサイズ、キャッシュメモリサイズ、ブロックサイズに関する問題があります。
  • ダイレクトマップ方式、2Wayセットアソシアティブ方式、フルアソシアティブ方式のTAGメモリアクセスについての問題もあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • 1108435
  • ベストアンサー率43% (94/217)
回答No.1

Wですか、使いませんものねぇ、今は。ワードと呼び、2byte~4byteの値(処理系によって違う)を示します。ここではKW(キロワード)となっていますから2byte処理系で8bit×2×1024(2byte処理系)、8bit×4×1024(4byte処理系)の差が出ます。後は講義の際に先生が何byte処理系の話をしたかなので、自分にわかるのはここまで。普通は1w=16bitとしていたかなぁ、昔は! ここに説明があるから呼んでおいてください。 http://www.ias.tokushima-u.ac.jp/physics/classes/genphys/Hout2006/NK060620.pdf

mirole1230
質問者

お礼

大変丁寧な回答ありがとうございます。 Wは今はあまり使わないんですね。 今回はありがとうございました。 また機会がありましたらよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • キャッシュについて

    「4-ウェイセットアソシアティブ方式のキャッシュ(容量512KB、ブロックサイズ32B、アドレス空間32bit)においてタグ長、インデックス長及びオフセット長を求めよ」という問があります。 オフセット長は32B=2^5より「5」ということがわかったのですが タグ長とインデックス長の求め方がよくわかりません。 どちらかが求まれば和が32ということを利用してもう片方も求められると思うのですが…。 よろしくお願いいたします。

  • キャシュメモリに関する問題について、答えが分かりません

     すみません、カテ違いかもしれませんが宜しくお願いします。    実はシスアド(18春)の問題で「キャシュメモリに関する正しい表記を選択する」問題ですが、答えが分かりません宜しくお願いします。 ア.書き込み命令が実行されたときに、キャッシュメモリと主記憶の両方を書き換える方式と、キャッシュメモリだけを書き換えておき、  主記憶の書き換えはブロックの入れ替え時に行う方式がある。 イ.キャッシュメモリは、実記憶と仮想記憶のメモリ容量の差を埋めるために採用される。 ウ.主記憶へのアクセスでキャッシュメモリにヒットしないと割り込みが生じ、プログラムによって主記憶からキャッシュメモリへデーターが転送される。 エ.半導体メモリのアクセス速度の向上が著しいので、キャッシュメモリの必要性は減っている。 ・「ア」の「書き込み命令が実行されたとき」とは「何が何に」書き込み命令が実行されたときなのでしょうか。 「ブロック」とはどのようなものでしょうか。 ・「イ」の「実記憶」とは何を指しているのでしょうか。  答えは「イ」か「ウ」のような気がするのですが、具体的にどこがどのように間違っているのか理解できません。 ・シスアド、基本情報の過去問を解説しているサイトはどこかにあるのでしょうか。  

  • Windowsの仮想メモリシステムについて

    こんにちは。 OSは現在、WindowsVistaと、Windows7を使っています。 こういったWindows系OS全てに共通している、仮想メモリなどのメモリ関係の用語について、かなり詳しく調べたのですが、最近、それらをきちんと理解できていない事に気づきましたので、今回の質問をさせて頂きます。 まず僕は、メモリ関係の各用語について、以下のように解釈しています。 ---------------------------------------------------------------------------------- ●物理メモリ 基本的にはRAM上にあるメモリの事であり、OSによってアクセスされる。 OSは起動後、各物理メモリに、物理アドレス(物理アドレス空間におけるアドレス)を割り当てる。 ●仮想メモリ領域 仮想メモリ領域は、各プロセスが、メモリを使うためにアクセスするアドレス空間の事であり、物理メモリと、次で説明するページファイルで構成されてる。 現在のWindows系OSでは、プロセスが起動すると、そのプロセスとセットになる、4GBの仮想メモリ領域 (仮想アドレス空間とも呼ばれる) が割り当てられ、実行するプログラムコードと、そのコードが参照して操作するデータが、そこにマップされる。 プロセスの持つ仮想メモリ空間4Gバイトの内、ユーザが使用可能なメモリ領域は、下位2Gバイトであり、上位2Gバイトはシステムによって使用される、「カーネルメモリ」となる。 OSと、コンピュータ上の専用のハードウェアコンポーネントは、プロセスが使用している仮想アドレスを、物理アドレスに変換する処理を行っている。 Windowsの場合、仮想メモリの各フラグメントを、「ページ」といい、サイズは通常 4KB である。 ●ページファイル 物理メモリの不足を補うために、HDDに用意されたメモリ領域の事である。 デフォルトではC:\pagefile.sys というファイルが、ページファイルとなっている。 これによって、RAM容量よりも大きなサイズの、仮想メモリ空間を利用することができる。 ページファイル上に置かれたページにアクセスするには、そのページをRAM上に読み込まなければならないため、現在使われていないRAM上のページとの入れ替えが、OSによって行われる。 このとき、RAM上の不要なページをページファイルに書き出し、RAMから消去することを「ページアウト」あるいは「スワップアウト」と呼び、必要なページをページファイルから読み出し、RAM上に配置することを「ページイン」あるいは「スワップイン」という。 ●コミットページ(コミットチャージ) プロセスに割り当てられた、使用可能な仮想メモリページ全てを表す。 これには、RAMからページアウトされたメモリページも含まれまれる。 コミットページの合計サイズと現在使用中のサイズは、タスクマネージャのパフォーマンスタブにある[ページファイル]の部分で確認できる。 この[ページファイル]という部分は、上で説明したページファイルの事ではなく、 RAMとページファイルの両方に存在している、メモリページのサイズを意味する。 ●ワーキングセットページ プロセスから最も頻繁かつ直近にアクセスされる、常にRAM上にあるメモリページの事である。 ワーキングセットページには、そのプロセスしか使えない部分(プライベートワーキングセット)と、他のプロセスと共有可能な部分がある。 共有可能なワーキングセットは、他のユーザープロセスで、物理メモリが不足し始めた場合に使用できる。 ----------------------------------------------------------------------------------- まず、以上の解釈で、おかしいと思う部分がありましたら、どしどし突っ込んで下さい。 次に、以下のようなコードブロックを含む、C++プログラムを作成して実行しました。 ------------------------------------------------------------ char *p; for(int i=1; i<=2000 ; i++) p=new char[1024*1024]; ------------------------------------------------------------ このコードブロックは、pというポインタに対し、1024×1024B = 1MB のメモリの割り当て作業を、2000回行います。 つまり、このプログラムをビルドして作成された、a.exeという実行ファイルを実行すると、 約2000MBのメモリがa.exeに割り当てられるという事が予想できます。 プログラムの実行中に、タスクマネージャのプロセスタブにある、a.exeの行を見ていると、 メモリに関する列項目値は、 コミットサイズ:2012.928KB=1965.75MB ワーキングセット:4616KB=4.51MB プライベートワーキングセット(a.exeしか使えないワーキングセット):2656KB=2.59MB となっていました。 ワーキングセットページのサイズが4.51MBとしかない事から、約2000MBのメモリの割り当ての大半は、RAM上にはないメモリページ、つまりページファイル上のメモリページを使って行われたのだと、僕は思いました。 ところが、ページファイル上のメモリページの使用量を、専用のソフトで調べてみると、 a.exeの実行前から全く変化していなかったので、実際はページファイル上のメモリページを使用しなかったのだという事になります。 では一体、どこにあるメモリページが、a.exeで使用されたのかという事になります。 この件について、皆さんはどう思われるでしょうか? 長くなりましたが以上です。 何か御存じの方がいらっしゃれば、是非、アドバイスして頂きたく思います。 では、よろしくお願い致します。

  • 8086のメモリ管理について。

    8086のメモリ管理について。 いつもお世話になっております。 小生、現在ポケコンZ-1GRでx86アセンブリを勉強中のアセンブリ初心者です。 今回質問させて頂きたいのは8086のメモリ管理についてです。 8086はメモリ管理にセグメントとオフセットという方法を使い、全部で2MBのメモリが使用できるのは、理解できました。 理解できないのは、物理メモリへの変換の際、(セグメントアドレス X 10H) + オフセットで物理メモリにアクセスできるという箇所です。 セグメントアドレス X 10Hで20bitのアドレス空間を操作できるのは分かるのですが、 問題はセグメントアドレス X 10Hがどこの箇所(例えばCPUの中)で行われているのでしょうか? MMUはもちろんないはずだと思います。 お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。

  • CPUがメモリ上に書かれている命令を実行した後

    CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 たとえばメモリ上に「Wordを開く」などの命令があるとき, CPUはその命令を実行すると思いますが,命令を実行とは CPUは, ① ストレージにあるWordのファイルにアクセスする(CPUが直接) それとも ② Wordを開くという演算結果をメモリに返し,その結果,Wordが起動する(CPUの演算結果がメモリを経由) ①と②のどちらでしょうか?

  • メモリアクセスにつきまして

    PC/AT互換機においてのメモリマップの仕組みについて質問があります。 例えばIO空間には0x00~0x100までのアドレスが割り当てられているとしたら、そのアドレスにアクセスがあった場合メインメモリにおけるアドレス0x00~0x100間には物理的には何にも読み書きされないのでしょうか? また、VRAM領域というのがありますがその領域にアクセスするということは物理的にビデオカードにあるVRAMに読み書きが行われるのであって、メインメモリのその領域には一切アクセスされないという解釈で正しいのでしょうか?? 何かご存知の方がいらっしゃいましたらお助け下さいませ。。

  • 「仮想メモリが限界です」の解決策を教えてください。

    MEからXPにアップグレードしましたところ、起動時、以下のメッセージが表示されます。■仮想メモリが限界です。システムにページングファイルが無いか、ページングファイルが小さすぎます。この問題を解決するには、コントロールパネルのシステムをWクリックし、「詳細設定」タグにある「パフォーマンス」の「設定」ボタンをクリックします。次に「詳細設定」タグにある「変更」をクリックしてから「カスタマイズ」を選択し、ページングファイルの初期サイズと最大サイズを入力します。■初期サイズは288、最大サイズは576となっていましたが、一体、数値をどう入力すれば解決するのでしょうか?機種はThinkpad 1161-71jメモリは192MBです。よろしくお願いいたします。

  • メモリ増設について

    すみません。Linuxに関しては初心者なのですが、 勉強を兼ねて、自宅サーバーを構築しております。 OSはCentOS5です。 現在1Gのメモリにプラス4Gを増設して、5Gにしようと 思っております。 そこで、初心者的な質問で申し訳御座いませんが、 メモリを増設する事によりOS(CentOS)になにか特別な 設定などする必要はないのでしょうか? 例えば、いくらメモリを増やしても、○○やらないと 増設分のメモリが使われないよ。みたいな事はないのか と言う心配です。 もう一つ質問があります。CentOSのインストール時に ソフトウェアRAIDによるRAID1を構築しています。 その際に、swap用論理ボリュームのサイズは実メモリの倍の サイズが良いと聞いたので、2Gにして構築しました。 今回、実メモリが5Gになるので、10Gにしなくて良いのか? と疑問に思いましたが、自力で調べた限り、CentOSのソフト RAIDはインストール時以外は構成を変更できないみたいな 事が書かれていたのですが、本当でしょうか。 また、変更できないのであれば、swap用論理ボリュームが 実メモリのサイズより小さくても構わないものなのでしょうか? 大変、初心者な質問で申し訳ございませんが、ご教授頂きたく 存じます。宜しくお願いします。 今回、実メモリが5Gになるので、

  • 32ビットCPUは物理、仮想メモリを含めて4Gまでしかメモリをもてないんですか?

    いくつか質問があるのでお願いします。まず、表題にあるとおり32ビットCPUは本当に物理、仮想メモリを含めて4Gまでしかメモリをもてないんですか? 【第一の質問です】  32ビットCPUでいう32ビットとは一般的にCPUのレジスタのサイズのことですよね。(もしかしたら、一度に32ビットのサイズでデータを処理できるという表現のほうが正しいのかもしれませんが,,)  で、次に第二の質問なんですが突き詰めると、このレジスタのうちのどこのレジスタが32ビットなんですか?  CPUが次に読み込むべき、メモリの住所(位置)をあらわす、いわゆるメモリアカウンタントのことですか?それともレジスタ全体そのもののことでしょうか? 【これが第二の質問です】  三番目は(1)の質問がYESだとする前提で質問を行います。  4Gという数字は2の32乗のことだというのはわかっているのですが、実際メモリが仮想メモリー(HDDへのスワップ領域)も含め4Gという容量で足りるのですか? いくらCPUの演算部で先に処理が完結したものからHDDに退避させるとはいえ、4Gという数字は少々、少なすぎる気がするんですがどうでしょうか? 【三番目の質問です】    答えられるものだけでいいので、教えてください。どうかお願いします。

  • ストリームRN-1についての質問です。

    ストリームRN-1についての質問です。今回タイヤを交換するのですが、分からない点があるため、質問します。 せホイールに関して: 6.5J オフセット+38 ピッチ114.3 5穴マルチで何の問題もありまんでしょうか?一番気になるのがオフセットです。純正は+45なので+35が何の問題の無く、ポン付けできますか?それともスペーサーなど何らかの問題が発生しますか? タイヤのサイズは195/65 R15です。 ちなみにRN1の純正データは、14x5.5JJ 5 114 45 64 です。