[オペレーティングシステム]コンピュータのストレージ階層

ここに画像を挿入説明

ここに画像を挿入説明

登録

トップレベルのメモリシステムは、CPUレジスタです。彼らように高速なCPUと同じ材料でCPU、。もちろん、それらへのアクセスには遅延はありません。CPU 32における典型的な記憶容量は、32×32ビット、64×64ビットとして64ビットCPUです。両方の場合において、1 KB未満の記憶容量。ソフトウェアに登録する必要があり、これらの自己管理プログラム(つまりは、それらを使用する方法を決定します)。

キャッシュ

次の層は、キャッシュ、ハードウェアによって制御された大部分です。メインメモリは、キャッシュライン(キャッシュライン)、これに64バイト、キャッシュラインアドレスキャッシュライン1に対応する0〜127、64に対応する63のアドレス0、との典型的な大きさに分割されています。最も一般的に使用されたキャッシュラインは、CPUやCPUのキャッシュ内の近接して配置されています。プログラムがメモリワードを読むために必要がある場合、キャッシュのハードウェアチェックに必要なキャッシュラインがキャッシュ内にあります。もしそうなら、それは要求を満たすためにキャッシュ、キャッシュ・ヒットと呼ばれ、バスを介してメインメモリに送られたアクセス要求する必要はありません。キャッシュヒットは、通常は2つのクロックサイクルを要します。キャッシュは多くの時間が代金を支払うために必須のアクセスメモリ、ミス。キャッシュは高価であるため、その限られたサイズ以来。一部のマシンは、2あるいは3つのキャッシュ、キャッシュの各レベルの前よりも遅いと大容量を持っています。

キャッシュは、コンピュータサイエンスの多くの分野だけではなく、RAMキャッシュラインに重要な役割を果たしています。限り多くのリソースをより小さな部分に分けることができるがあるとして、これらのリソースの一部は、通常、パフォーマンスの改善をもたらすキャッシュを使用して、より頻繁に他の部分よりも使用するようになります。オペレーティングシステムは、使用キャッシュされてきました。例えば、ほとんどのオペレーティングシステムは、ディスクからのファイルの繰り返し検索を避けるために、メモリに頻繁に使用されるファイル(パート)にとどまります。同様に、このように:

/home/ast/projects/minix3/src/kernel/

ファイルがキャッシュに配置することができ、ディスクの結果に対処するための長いパス名の変換、重複を避けるために、アドレスを見つけます。また、Webページ(URL)のアドレス変換は、ネットワークアドレス(IPアドレス)であるとき、この変換結果は、将来の使用のためにキャッシュすることができます。他の多くの類似のアプリケーションがあります。

:任意のキャッシュシステムでは、など、できるだけ早く考慮すべきいくつかの問題があり、

  1. キャッシュにすると、新しいコンテンツ。

  2. キャッシュライン上の新しいコンテンツ。

  3. 必要な場合は、どのコンテンツをキャッシュから削除する必要があります。

  4. 新しいコンテンツは、より大きなメモリを配置する場所を削除する必要があります。

すべての問題を解決するには、各キャッシュに沿ったものではありません。キャッシュ・ミスがあるたびにCPUのキャッシュのメインメモリキャッシュラインについては、新しいコンテンツが転送されます。キャッシュラインは、通常、高いによって基準として使用されるべきメモリアドレスを計算します。ビットは0-5バイトのキャッシュラインを決定するために使用されている間、例えば、64バイトのキャッシュライン4096、および32ビット・アドレスの、請求項6〜17ビットは、キャッシュラインに使用されます。この例では、位置は、削除されたコンテンツは、場所を入力するための新たなデータであるが、いくつかのシステムではそうでないかもしれません。最後に、ときに、キャッシュラインの内容がメインメモリに再度書き込まれる(コンテンツがキャッシュされた後、変更されてもよい)、一意にそのアドレスのメインメモリ位置を書き換える必要性を決定します。

キャッシュは、2つのCPUのキャッシュを持つデザインで非常に現代的な、良い方法です。あるいは第一段階は、常に一般的にCPU実行エンジンに転送デコードされた命令のために使用されているCPU、でL1キャッシュと呼ばれます。頻繁に使用されるこれらのデータワードのため、チップの大部分は第二のL1キャッシュで配置されています。典型的なL1キャッシュのサイズは16キロバイトです。また、多くの場合も、L2キャッシュが呼び出され、2つのキャッシュを使用して設計、メモリワードの最近使用数メガバイトを格納するために使用されます。L1とL2キャッシュとの間の差そのタイミング。L1キャッシュへのアクセス、任意の遅延が存在しない場合、L2キャッシュへのアクセス、遅延は1回のまたは2クロックサイクルであろう。

マルチコアチップにおける。設計者は、キャッシュの場所を決定する必要があります。図1-8aでは、一つのL2キャッシュはコアの全てによって共有します。インテルは、このメソッドを使用してチップをマルチコア。対照的に、図1-8bに、各コアはそれ自身のL2キャッシュを持っています。AMDは、このメソッドを使用して。しかし、各戦略には独自の長所と短所があります。例えば、インテルの共有L2キャッシュはより洗練されたキャッシュ・コントローラ、L2キャッシュコヒーレンシの難しさを維持しようとするAMDの方法が必要です。

主記憶

1-9。図の階層において、一つのメインメモリに、次にダウン。これは、メインメモリシステムです。メインメモリは、一般的にランダム・アクセス・メモリ(ランダムアクセスメモリ、RAM)と呼ばれます。過去にわたって時々ため1950年代と1960年代、小さな強磁性磁化プライマリ預金の使用において、磁気コアメモリと呼びます。現在、数ギガバイトに数百メガバイトの間でメモリの容量、およびその容量は急速に成長しています。これは、メインメモリに転送されるすべてのキャッシュアクセス要求に満たすことができません。

メインメモリに加えて、多くのコンピュータは、すでに非揮発性ランダム・アクセス・メモリの少量を使用して。電源が遮断された後に、とは違ってRAMは、不揮発性ランダム・アクセス・メモリは、その内容を失うことはありません。ROM(読み出し専用メモリ、ROM)は、もはや変更することが、プログラムされた工場で完成しませんでした。ROMは、高速かつ安価です。一部のコンピュータでは、ブートローダーのモジュールの開始のためのコンピュータがROMに保存されています。さらに、いくつかのI / Oカードは、プロセス制御機器の基礎となるROMを持っています。

EEPROM(電気的消去可能PROM、電気的消去可能プログラマブルROM)、フラッシュメモリ(フラッシュメモリ)、不揮発性が、消去及び書き換えすることができるROM、に反しています。しかし、彼らは書き換える必要があり、その高い大きさのその使用のRAMとROMと同じオーダー書き込み時間よりも、その独特の特徴は、プログラム格納されているエラーを書き換えるフィールドを介しての方法を修正するためにそれらを可能にします。

携帯型電子機器、記憶媒体として、典型的にはフラッシュメモリです。フラッシュメモリは、携帯音楽プレーヤーのディスクで、これは2の使用でちょうどフラッシュで、フィルムのデジタルカメラです。RAMとディスクの速度の間点滅します。フラッシュ消去の数があまりにも多く、それを着用していた場合また、ディスクストレージは異なっています。

メモリのもう一つのタイプは、それが揮発性である、CMOSです。多くのコンピュータは、現在の時刻と日付を維持するために、CMOSメモリを使用します。CMOSメモリやリアルタイムクロック回路をインクリメントは、小型電池で駆動され、そのため、コンピュータの電源が入っていない場合でも、時間はまだ正常に更新することができます。CMOSメモリーすることもでき、このようなブートディスクなどがある、などの設定パラメータ、保存。CMOSは、それはほとんど電力を消費するため、工場出荷時にインストールされたバッテリーは、多くの場合、年の数を使用することができます採用されています。バッテリーが失敗し始めたときしかし、コンピュータは、ディスクが開始などであるべきかなどの、コンピュータは物事の年を忘れてしまうメモリのうち、「アルツハイマー病」になります。

ディスク(HDD)

次のレベルは、ディスク(HDD)です。RAMディスク、大きさ、低コストの二桁の各ビットと比較し、そしてしばしば大き大容量の二桁があります。唯一の問題は、その約3桁のランダムディスクアクセス時間データ遅くなります。その理由は、低速ディスクは機械装置であるということです。
ここに画像を挿入説明
10 800rpm又は5400,7200の速度で回転ディスク内の1つまたは複数の金属ディスクを含みます。エッジから開始すると、プレーヤーの古いプラスチック製のレコードプレーヤのトーンアーム33のターンに似たディスクでクロスぶら下がってロボットアームを、持っています。一連の同心円上のディスクに書き込まれた情報。アームの任意の位置において、ヘッドの各セクションは、トラック(トラック)と呼ばれる環状領域を、読み取ることができます。シリンダ(シリンダ)を形成するために一緒に結合アームの所定の位置にすべてのトラック。

各トラックはいくつかのセクタに分割され、セクタの典型的な値は512バイトです。シリンダ比較複数のセクタの外筒内部より近代的なディスクです。一つの気筒隣接シリンダから移動するロボットアームは、1ミリ秒程度かかり。シリンダ駆動に応じて、10msのに特定の時間を5msでのランダムに典型的な時間を移動します。磁気アームが正しいトラックに達すると、ドライブは10msの遅延、ドライブの速度に依存し、特に遅延は5msを増加させる、ヘッドの下セクタに所望の回転を待たなければなりません。移動するヘッドの下の所望のセクタは、読み取りおよび書き込みを開始したら、高速ディスクの速度160 MBがあるが、ローエンドのディスク速度は5MB / S、/ S。

多くのよく知られているコンピュータは、第3章で議論される仮想メモリのメカニズムをサポートしています。このメカニズムは、プログラムの実行は、ディスク上のプログラムであることが望ましい場合がある物理メモリよりも大きいことができるプログラムの最も頻繁に使用される部品を格納するために使用されるキャッシュとしてメインメモリ、しばらく。このメカニズムは、RAM内の物理アドレス、バイト関連するプログラムのために生成されたアドレスを変換するように、すぐに画像メモリに対処する必要があります。この画像は、完全にメモリ管理ユニット(メモリ管理ユニット、MMU)と呼ばれる、CPUの一つのメンバーで構成されています。

表示され、キャッシュとMMUは、システムのパフォーマンスに重要な影響を持っています。あるプログラムから別のものに切り替えるマルチプログラミングシステムでは、時々、コンテキスト切り替え(コンテキスト・スイッチ)変更されたすべてのキャッシュ・ブロックは、ディスク操作に書き戻され、MMU内の画像を修正するために、それが必要であると称される登録。「しかし、これら二つの操作のコストは非常に高価なので、プログラマはこれらの操作の使用を避けるようにしてみてください。私たちは、後に生成され、これらの操作の効果が表示されます。

磁気テープ

メモリシステム内の最後の層は、磁気テープです。このメディアは、多くの場合、バックアップディスク用に使用されている、とあなたは非常に大きなデータセットを保存することができます。テープにアクセスする前に、テープがテープドライブに接続する必要があり、ロボットはまた、(一般的に大規模なデータベースの自動テープ処理装置に搭載された)手動インストールを実装することができます。次いで、テープはまた、要求されたブロックを前方旋回データを読み取るために必要とされ得ます。要するに、すべてこの作業には数分かかります。テープの最も重要な特徴は、ビットあたりのコストが非常に安いです、とでなければならない火災、洪水、地震などの災害、バックアップテープのオフサイトストレージを生き残るためには、非常に重要である、取り外し可能です。

我々はすでに一般的ですが、いくつかのシステムはこれらのレベルのすべて、または(例えば、CD-ROMなど)いくつかの違いをインストールする必要はありませんメモリアーキテクチャを議論してきました。ビット当たりのコストが大幅に削減されている間しかし、レベル低下は、そのランダムアクセス時間が大幅に増加しているすべてのシステムで、容量も大幅に増加しています。その結果、このメモリアーキテクチャは、長年にわたって、私たちと一緒に持っているようです。

公開された374元の記事 ウォン称賛14 ビュー10万+

おすすめ

転載: blog.csdn.net/LU_ZHAO/article/details/105378166