メインメモリよりもハードディスクから情報を取得するのに時間がかかるのはなぜですか。


0

この質問に対する私の現在の理解はかなり初歩的です。「メインメモリはプロセッサに近い」、「ハードディスクドライブは回転するプラッタ、そして物理的に動かさなければならない磁気ヘッドを使っている」といったことを読みました。それ以上の詳細は通常混乱させるかあいまいな用語に入れられます。誰かがはっきりと雄弁にすべてを一緒に結ぶことができますか?


それが設計と実装の方法です。メインメモリはコンピュータの不可欠な部分です。それはコンピュータの操作に不可欠です。ハードドライブは外付けのオプションの周辺機器です。すべてのコンピュータがハードドライブを使用または必要とするわけではありません。そのため、メインメモリは外部周辺機器よりもデータ転送が高速になるように設計されています。その階層を維持するためにお金が使われ、技術が開発されています。
おがくず

理論上、CPUはHDDなどの周辺機器から直接データにアクセスできます。しかし、それ(プログラムされたI / OまたはPIO)は非実用的で非効率的です。そのため、周辺機器(HDDなど)との間のすべてのデータ転送はメモリバッファを使用します。そのため、すべてのデータはアクセス可能にするためにメインメモリに転送する必要があります。したがって、これが、メインメモリを他のペリフェラルよりも高速にすることが不可欠である理由の1つにすぎません。
おがくず

回答:


1

これを最も単純なものにするには、CPUがデータを必要としているとします。RAMはCPUの隣に立っている人です。CPUが要求し、人はすぐに答えます。とても速い

ハードドライブのような外部周辺機器は次のようになります。CPUも同じ要求を出しますが、現時点ではRAMにデータがないため、ハードドライブに移動するために誰かを送ります。ハードドライブは子供のカルーセルのようなものです - それは回転します。データは、カルーセルのさまざまな部分に貼り付けられた付箋紙に書き込まれます。あなたがそれに歩いて、あなたが探している情報がそこにあるならば、素晴らしい。それを読んで戻ってください。そうでなければ、あなたはあなたが必要とするメモに到達するためにカルーセルが回転するのを待つ必要があります。また、それはちょうど端にあるのではなく、中心に向かっているかもしれません。だからあなたもそれを検索する必要があるでしょう。あなたがそれを手に入れたら、あなたはCPUに戻ります。明らかにRAMを尋ねるだけで、ハードドライブを待つよりも速くなります。


+1私はその例えが好きです。次のレベルは、キャッシュメモリがメインRAMよりもどれだけ速いかを説明することです。彼/彼女はメモを調べ、CPUが必要とするデータを持つカードを持っているかどうかを調べ、それをCPUに渡します。しかし、データが自分の財布に入っていない場合、CACHEは最も古い使用済みスロットを最初に見つけてRAM担当者に扱い、次にCPUから受け取る前にRAMから新しいデータを取り出す必要があります。もっと時間がかかります。より、RAMの人が安価であり、単一のデータカードを扱うことを拒否し、それは...私はetc.etc、カードの束でのみ取り扱う予定だという
Ale..chenski

1

データを取得して何が起こるのか見てみましょう。

メインメモリ

私たちはラッキーなのか、つい最近使ったばかりなのか?L1キャッシュがヒットしました。1ナノ秒で回答が返されます。

私達はいくらかラッキーで最近使用しましたが、最近はL1キャッシュには十分ではありませんか?L2キャッシュヒット、4ナノ秒

わかりました、運が悪かった、チップに出なければなりません。100ナノ秒

ハードディスク:

まず、メモリ内のテーブルを検索して、それがどこにあるのかを正確に把握する必要があります。それがこのためにディスクに行く必要がない限り、時間は最終的な答えで無関係になるだろうので私はそれを無視します。

わかりました、私達のデータはセクター123456にあります。ハードディスク、私にセクター123456をください。

123456?OK。トラック123のセクター456です。ヘッド、トラック123に移動します。

サーボモーター:クリック、クリック、クリック... 3,000,000ナノ秒後、わかりました。

さて、これが典型的な7,200 rpmドライブであることを理解しましょう。プラッタは1秒間に120回回転しているので、平均待ち時間は1/240秒です。データが先頭に到達するまで、さらに4,166,666ナノ秒待ちます。

これはディスクから大きなものを読むほうが小さなものを読むよりもはるかに良い理由でもあることにも注意してください。あなたは今セクター123457が欲しいですか?ステッピングモーター:私はもうそこにいます。頭を読んでください:データについて今すぐ考えてみましょう。


なぜHDDがこんなに遅いのかという答えに+1します。
8bittree 2016年

0

「メインメモリからよりもハードディスクから情報を取得するのに時間がかかるのはなぜですか。」

メインメモリ(通常RAMと呼ばれる)がはるかに速いからです。

コンピュータには、RAMとハードディスクの2種類のストレージがあります。それぞれに長所と短所があります。そのため、コンピューターには両方が必要です。

ハードディスクの特性:1.比較的安価。それは永久的な保管です。一度書き込まれると、データは無期限に保持されます。3. RAMよりはるかに遅いです。4.ディスクに出入りするデータは、最初にRAMを通過する必要があります。直接アクセスすることはできません。

RAMの特性:1。ハードディスクよりもはるかに高価です。コンピュータがそれをはるかに少なくするのはそのためです。ストレージは揮発性です。つまり、コンピュータの電源が切れていると、そこに含まれていたデータはすべて失われます。それはハードディスクよりはるかに速いです。4. RAMの内容に直接アクセスできます。

近年、SSDドライブが普及しています。それらは、可動部分がないハードドライブの一種です。それらは従来のハードドライブより速いですが、それでもRAMよりずっと遅いです。現在の主な問題は、それらが従来のハードディスクよりも高価であるということですが、それは変わりつつあります。最終的に彼らは完全に従来のドライブを交換します。

オペレーティングシステムの主な仕事の1つは、これら2つのまったく異なる記憶媒体を最大限に活用することです。頻繁にアクセスまたは変更しなければならないデータ(場合によっては1秒間に数百万回)はRAMに保存されます。頻繁に使用されない、または永続的に保存する必要があるデータは、ハードディスクに保存されます。オペレーティングシステムは、ユーザーの介入なしにこのほとんどを管理します。


これは、説明するのではなく、質問がわずかに異なる用語で質問していたという主張を言い換えるだけのようです。
8bittree 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.