ジメジメする梅雨のお悩み、一挙解決! >>

データキャッシュ
命令キャッシュ
キャッシュフラッシュ

 この三つの差がよくわかりません。キャッシュはCPUの処理速度を上げるためのものであることは理解しています。私が知っていたのはデータキャッシュのみで、同じデータのやり取りを行う時に使用するものですよね?
 では、命令キャッシュとは、同じ命令を行うときに使用する?いつ、どこで、その命令をキャッシュに入れておくのでしょうか?
 キャッシュフラッシュはなんとなくわかります。キャッシュに格納してある情報を要求先へ送ることですか?

 会社でこの質問に答えれなくて、宿題にされてしまいました・・・・。答えでも、答えでなくてもいいです。情報をいただけたらと思い質問させていただきました。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

プロセッサとメインメモリの処理速度は全然違うので, データが必要なたびにメインメモリにアクセスするのでは実行速度が大幅に低下してしまいます. そのため「メインメモリほど容量はないけどメインメモリより高速なメモリ」を間に入れて実行速度の低下を防ごうというのがキャッシュの主目的です. ここでは「データ」と書きましたが, プログラムの命令そのものもプロセッサから見ればデータの一種ですので, 当然命令に対しても同様に考えることができます. つまり, プロセッサから見ると, メモリアクセスは全てキャッシュに対して行われます.



また, 今のプロセッサは当然のようにパイプライン化されていますので, 命令の読み込み・実行・データのアクセスが全て同時に行われます. そのため, 命令を格納するメモリとデータを格納するメモリが同じバスに接続されていると, やはり実行速度は低下してしまうため, この 2つは異なるバスに接続するハーバードアーキテクチャが使われています. ということで, 「命令に対するキャッシュ」と「データに対するキャッシュ」を分けておくとうのは合理的である, ということになります.

そして, 処理が進んでいくと「キャッシュが全ていっぱいになってしまい, 新たなデータをキャッシュに読み込めなくなる」ことになります. このとき, キャッシュ上のデータを捨てる必要があるのですが, これを「キャッシュのフラッシュ」と呼びます. 命令キャッシュであったり, データキャッシュでもデータを読み込んでいるだけならいいのですが, データを書き込んでいる場合にはキャッシュ上のデータをメインメモリに書き戻す必要がある場合があります. これはデータをメモリに書き込むときに「メインメモリにも同時に書き込む (= write-through)」なら必要ないのですが, 「メインメモリにはあとで書き込む (= write-back)」場合には必須となります. したがって write-back の方がフラッシュの処理が面倒になりますが性能は一般に write-through より高くなります.

なお, #1 でも書かれているようにキャッシュは「アクセスの局所性」に基づいていますので, 分岐命令に対してうまく処理しなければならないという問題点があります (分岐先の命令をキャッシュに入れておかないと実行できないので). 普通は分岐予測というものを使うのですが, SPARC V9 では「絶対分岐しない分岐命令」というおもしろいものを用意してあります. これは命令単独では全く意味を持たないのですが, その副作用として「分岐先アドレスの命令をキャッシュに先読みする*かもしれない*」という機能があったりします.
    • good
    • 1

キャッシュが有効である理由は、いわゆる参照の局所性(Locality of reference)があるからです。



そして、その参照の局所性は、データだけではなく、命令についても言えます。例えば、いかなる言語であっても普通にプログラムを書いた場合、一般的にループはよく現われます。そのプログラムをコンパイルした結果、通常は(つまりリバースエンジニアリングしにくくするためにわざとあっちこっちに飛ぶようなコードがはき出されていたりしない限りは)、そのループ部分の命令は局所的に存在します。よって、最近実行した命令をキャッシュに残しておけば、所定の確率で再度その命令をフェッチすることになります。

また、命令を先読みする場合があります。この場合も、先読みした命令をキャッシュに入れておくことにより、CPUから見た命令転送コストは、トータルとして少なくて済みます。
また、PCに基づいて単純に命令を先読みする場合だけではなく、分岐キャッシュ(分岐命令のアドレスとその分岐先とのアドレスのペアを保持)に基づいて、分岐先を予測して命令を先読みする場合もあります。

なお、キャッシュフラッシュは、キャッシュにおいている情報を捨てることではないでしょうか。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavaScriptでキャッシュクリアする方法はありますか?

現在、入力された条件によりデータを抽出するプログラムを作っています。が、IEで実行すると前回入力した条件のまま、データが抽出されてしまいます。
NNでは正常に表示されるため、キャッシュのせいかと思っているのですが、
JavaScriptでブラウザのキャッシュをクリアする方法はありませんか?

ブラウザ>ツール>インターネットオプション>一時ファイル削除
しか手がないのでしょうか?

大変困っているので回答をよろしくお願いします。

Aベストアンサー

こんばんわぁ、Blackwinglsです。

本当にキャッシュのせいか甚だ自信無しなのですが、JavaScriptを使わなくても、以下URLの方法でキャッシュからの読込みを制御できるのではないかと思います。

http://www.okweb.ne.jp/kotaeru.php3?q=8889

一度試してみては如何でしょうか・・・

ではでは(^_^)/~

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=8889

Qパソコン格納(JPEG)写真データのDVDレコーダーでの再生方法

OSがVistaのパソコンに格納されている1000枚におよぶ結婚式の写真データ(JPEG)(約3GB)があり、ほかの人に見てもらうために、DVD-RもしくはRWに編集し、DVDレコーダー(パソコンを持っていない人)で再生してもらおうと思っています。
JPEGデータをパソコンでDVD-RもしくはRWに編集する方法
およびDVDレコーダーで再生してもらうために、そのさい注意すべき点につきお教えください。
ちなみに、もともとのDVDデータは、DVDレコーダーで再生できなかったため、パソコンへコピーしたものです。

Aベストアンサー

今日は。写真をPCへの保存をされたのは非常に賢明でした。Vistaにしか無いDVDメーカーが有ります。此れを利用して貴方のご希望通りの事が以下の手順で簡単に作れます。

○DVD-RW(作り直しが出来るのでお勧め)をPCにセットします→保存写真のフォルダを右クリックし→「コピー」を押して画面を最小化します。
○DVDメーカーを出します→名前の下で右クリックし「貼り付け」を押すと=フォルダ名と其れの再生時間が出ます。残りのフォルダも次々と繰り返しますと、下に並んで行き総合計時間が出ます。

○入れ終わったら下に現在日時が」あり、これを消して旅行日時や地名をA ~B~C等を入れる事必須です=プレイヤーでの読み込み後の再生スタンバイ画面で題名が出ます。→
「次へ」を押し出た画面で「スライドショー」を押すと=スライド時間(枚数が多いから7秒で)や其の他の設定が出来ます。
○「音楽の追加」画面に合ったBGMが入れられます。WinメディアP…に保存の例えば下のURLのような所から取り込んだ音楽を再生時間に合わせて、次々と入れます。(クラッシックのLPなら長いですが)
http://www.cypress.ne.jp/taenaka/kiyaku.html←この記述は知ったかブリの横やり防止の為。
○右中ほどの「全画面」を押し→「書き込み」を押すとスタートして進捗バーが出ます。尚ムービーメーカーでは単に画面が変わるだけですが、うんと優れて居ます。最初は再生時間より少し掛かりますが、続いての2枚目からは2割程の時間で出来ます

※他のPCや殆どのプレイヤーで再生出来る必須条件の=ビデオモードでのフォーマット~終了時のファイナライズまで自動で行います。終わるとディスクが出ます。
尚DVD-RW私はTDKの映像用、超硬、1~2倍速5枚パック、ケースが厚くて記録面が何処にも触れず回転するのを使用して居ます。(以上でのDVDはどこのプレイヤーでも見えて居ます)
記述は長いですが一度行えば簡単ですから頑張ってください。

http://pc.nikkeibp.co.jp/article/NPC/20070416/268034/ 

今日は。写真をPCへの保存をされたのは非常に賢明でした。Vistaにしか無いDVDメーカーが有ります。此れを利用して貴方のご希望通りの事が以下の手順で簡単に作れます。

○DVD-RW(作り直しが出来るのでお勧め)をPCにセットします→保存写真のフォルダを右クリックし→「コピー」を押して画面を最小化します。
○DVDメーカーを出します→名前の下で右クリックし「貼り付け」を押すと=フォルダ名と其れの再生時間が出ます。残りのフォルダも次々と繰り返しますと、下に並んで行き総合計時間が出ます。

○入れ終わ...続きを読む

Qキャッシュクリアとは

一時ファイルの削除と、クッキーの削除をおこなえば
キャッシュクリアの完了なのでしょうか?

また携帯電話でキャッシュクリアの機能が、有る機体と無い機体がありますが、無い機体はキャッシュ機能自体ないのでしょうか?

よろしくお願い致します。

Aベストアンサー

キャッシュとは、何もインターネットに限ったものではありません。

大まかに言えば、使用頻度の高いデータをCPUキャッシュに蓄えておき、
次回使用時に、高速でアクセスできるようにするものです。

インターネットに置き換えると、一度訪れたページに高速にアクセスできるようインターネット一時ファイルに蓄えておきます。
つまり、ページへのアクセス情報を残しておくのですね。
しかしながら、これがたまりすぎると不具合の元となりますから、
インターネット一時ファイルの削除を行う。これをキャッシュのクリア、インターネットキャッシュのクリアといいます。

cookieとはサイト運営者がそのサイトを訪れた回数や、閲覧の履歴をあなた自身のPCに保存させておくものです。
インターネット一時ファイルとcookieでは、似てはいますが、異なるものです。
また、cookieを悪用して、スパイウェアとして運用するサイトもあるようですね。

>一時ファイルの削除と、クッキーの削除をおこなえば
キャッシュクリアの完了なのでしょうか?

言葉としては、正確ではありませんが、セキュリティ、ごみ化したものの処分という意味では、それでいいと思います。

携帯電話の件ですが、自動でしてしまうもの、そうでないものあるいは、キャッシュ機能がある。その機能がない。(キャッシュの意味はお分かりになりましたよね、必ずしも必要ではありません。)
その違いによるものでしょう。

キャッシュとは、何もインターネットに限ったものではありません。

大まかに言えば、使用頻度の高いデータをCPUキャッシュに蓄えておき、
次回使用時に、高速でアクセスできるようにするものです。

インターネットに置き換えると、一度訪れたページに高速にアクセスできるようインターネット一時ファイルに蓄えておきます。
つまり、ページへのアクセス情報を残しておくのですね。
しかしながら、これがたまりすぎると不具合の元となりますから、
インターネット一時ファイルの削除を行う。これをキ...続きを読む

Qフラッシュメモリのデータの完全消去法

フラッシュメモリのあるデータを完全に消去したいのですが、どうしたらよいでしょうか?水没させたらデータは消えるでしょうか?

Aベストアンサー

抹消ツールやら大きなファイルを上書きする。
とか再利用できる方法でないのであれば

電子レンジで3秒です。
2度と読み込めません。

QJavascriptのキャッシュについて質問があります。

Javascriptについて質問があります。

下記のサイトの右ナビゲーションで使っている
メニューバー開閉のJavacsriptを使おうと思っているのですが、
一番最初にこのページを見たときは「一番上があいている」
リロードすると「全部閉じている」、もう一度リロードすると「
と「一番上があいている」いう状況になります。
このページを表示させたとき、常に「一番上があいている」
という状態(勿論開閉はできる)で表示させることはできないでしょうか?

http://www.topsalesman.net/column/interview/vol1-1.html

---metaにキャッシュクリアしてもかわりませんでした;

Aベストアンサー

jQueryのプラグインddaccordion.jsですね。
以下のサイトの下の方に詳しいオプションの説明が載っています。
http://www.dynamicdrive.com/dynamicindex17/ddaccordion.htm?technology=0,1,2

それを読むとddaccordion.init()の中で
ddaccordion.init({efaultexpanded:[1]});
と指定できるみたいです。
これをonloadの時に実行すればよいのではないかと、
ご提示のサイトだと、
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.topsalesman.net/Scripts/ddaccordion.js">
</script>
<script type="text/javascript" src="http://www.topsalesman.net/Scripts/menu.js">
</script>
と読み込んで、3番目のmenu.jsの中でddaccordion.init()を使って
初期設定してますね。

jQueryのプラグインddaccordion.jsですね。
以下のサイトの下の方に詳しいオプションの説明が載っています。
http://www.dynamicdrive.com/dynamicindex17/ddaccordion.htm?technology=0,1,2

それを読むとddaccordion.init()の中で
ddaccordion.init({efaultexpanded:[1]});
と指定できるみたいです。
これをonloadの時に実行すればよいのではないかと、
ご提示のサイトだと、
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<scri...続きを読む

QHPのデータ。MOかUSBフラッシュメモリーか。

HPを運営している者です。使用ソフトはGoLiveです。
現在は、すべてのデータをMOに入れて、MO上で変更作業を行っております。
作業するPCと、アップロードするPCが違うので、
持ち運ぶためにそんな事をしております。

で、最近気になり始めたのがUSBフラッシュメモリーです。
MOからこちらに変えようかと思っております。
が、スピードはどうですか?
極端に遅くならなければいいのですが(むしろ速い?ぜんぜん知識ないもので)

あと各社いろいろな製品がありますが、値段の差は何ですか?
容量だけの差でもない気がするんですが。
オススメなどありましたら併せて教えていただけませんでしょうか。

Aベストアンサー

MACの場合、昔のものはメカ的にUSBは1.1です。
たとえ、USB2.0対応のボードを追加しても(メカ的に2.0対応であっても)、OSが10以降でないと1.1として認識され、2.0の転送スピードは得られません。

QDNSキャッシュのクリア

DNSキャッシュのクリア とは何ですか?
ブラウザのキャッシュのクリアとは違いますか?

Aベストアンサー

DNSサーバーへの問い合わせ頻度を減らすために、
DNSに問い合わせたときにその結果を保存しておくのがDNSキャッシュです。
次回の名前解決時にこのDNSキャッシュを利用することで問い合わせ頻度を減らせます。


名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)
http://www.atmarkit.co.jp/fwin2k/win2ktips/259dnsresolver/dnsresolver.html

Qコンパクトフラッシュの画像データを復元できますか?

記録メディアがコンパクトフラッシュのカメラを所有しています。

このコンパクトフラッシュに保存された画像をパソコンに取り込んだつもりでいたのですが、誤って取り込む前に消去してしまいました。

さっそく、インターネットで調べたところ「ファイナルデータ」というソフトに辿り着き、体験版でデータ復元を試みました。

すると「復元するには製品版が必要です」というメッセージがでて復元はできませんでした。

そこで、フリーのソフトや他にいい手段などがあれば教えてください。

Aベストアンサー

DataRecoveryというフリーソフトを使用してみてください。
詳しくは参考URLをご覧ください。

実行して、ドライブを選択(今回の場合コンパクトフラッシュ)、スキャンを行います。
出てきたjpgファイルをリカバリします。

うまく行くかはわかりませんが、試してみてはいかがでしょうか。

参考URL:http://www.vector.co.jp/magazine/softnews/071206/n0712062.html

Qブラウザのキャッシュをクリアする?

利用ブラウザのキャッシュをクリアするとは、なんのことでしょうか?

1、キャッシュってなんですか?

2、これをクリアすることによって、何がどうなるんですか?

どなたか教えてください。
上記のことさえ分からないので、難しい用語ではなく、やさしい言葉でお願いします。

Aベストアンサー

ブラウザとはインターネットのホームページなど(WEB)を閲覧するために
使うプログラムのことで普通はインターネットエクスプローラー(IE)を
使っていると思いますが、Firefox、Operaを使っている人も多いですね。
これらのブラウザは一度WEBページを開くとそこに出ている画像や文字の情報を
自身のパソコンの中に記録します。この記録データがあるので、
後からオフライン(インターネットにつながない状態)でもう一度
表示したり、次回同じページを開いた時に素早くそのページを
開くことができるようになります。これがキャッシュです。
このキャッシュはIEとFirefoxでは[Temporary Internet Files]という
ドライブCの中にあるフォルダーに格納されています(普通は見えない)。
これをクリアする命令はコントロールパネルの中のインターネットオプションの
中でインターネット一時ファイルの削除というボタンでできます。
キャッシュをクリアするとハードディスクの空き容量が増えます。

Qコンパクトフラッシュカード内のデータ、一度削除すると・・・

いつも大変お世話になっております。

デジカメde同時プリントを使用しております。
このソフトを使うと(設定によりますが)コンパクトフラッシュカード内のデータをパソコンに取り込む際に、メディア内のデータを削除してしまいます。

この削除したデータを何とか復元する事は可能でしょうか?
知人から頂いた質問なのですが、私では手に負えませんでした。。。

ご存知の方がいらっしゃいましたら、ぜひ方法をご伝授下さい。
OSはXPとVistaいずれでも使用しております。
デジカメはニコンのD200です。

よろしくお願い致します。

Aベストアンサー

お試し下さい
http://www.forest.impress.co.jp/lib/sys/file/delundel/glaryundel.html
http://www.forest.impress.co.jp/lib/sys/file/delundel/pandorarecov.html
http://www.forest.impress.co.jp/lib/sys/file/delundel/delrecovery.html

http://finaldata.jp/download/download.html
http://www.junglejapan.com/products/sec/pfc/recovery.php


人気Q&Aランキング

おすすめ情報