操作手順の原則

  ウェブサイト、導入http://c.biancheng.net/cpp/html/3450.html学習に適したC、Cの入門をしてて一番下に着きます。(Cプログラミングネットワークは、今も料金です!)

  いくつかの無料の学習リソース:https://cloud.tencent.com/developer/article/1184830

1、最終的にはコンピュータでのプログラムは、それがどのように動作するかですか?

  プログラムが実行するためにメモリにロードするためにハードディスクに格納され、CPUは、メモリからのデータのみとの指示を読んでするように設計されています。

  CPU、メモリは単に命令とデータを格納するための場所である、とCPUの構造を見て、特定の操作のプロセスを理解するために、メモリ機能で計算を完了することはできません。

  CPUコンピュータコンポーネントは、以下に示すように、小さな部品や内部の多くを含む、複雑です。

  

 

  脳演算ユニットCPUは、加算、減算、比較、変位コンピューティングタスクを担当して、各動作が非常に高速で、対応するサポート回路を有します。

  内部CPUレジスタは非常に小さく、非常に高速な記憶手段と、その容量が限られており、CPU 32、CPU 64のためにデータの32ビット汎用レジスタ(4バイト)を記憶する各可能な、各汎用レジスタに64ビット(8バイト)のデータを記憶することができます。複雑な様々な機能を完了するために、現代のCPUは、組み込みシステムは、レジスタの単一、少数の特徴、数十またはレジスタの数百を構築しました。

  私たちは、多くの場合、レジスタのビット数を指し、どのように多くのCPUと言う;登録プログラムの実行の過程において非常に重要である、欠かせない、彼らは、数学的計算、制御サイクルを実行するプログラムの実行の流れを制御するために使用することができ、 CPUのフラグ動作状態。

  なぜ内部CPUキャッシュを設定する必要がありますか?

  メモリ読み出し速度が非常に速いが、CPUされていると比較していますが、大きなギャップは大きさの順序は、まだ存在しないたびにデータがメモリから読み出された場合、深刻なCPUの速度が遅くなり、CPU多くの場合、待機状態では、何もします。CPU内部のキャッシュを設定すると、あなたが頻繁にデータがキャッシュに読み込まれて使用することができ、データが同じアドレスに必要とされ、彼らはメモリにアクセスするためにすべての方法を行っていない、キャッシュから直接読み取ることができます。

  大きい、キャッシュは32キロバイトで、インテルCore i7の3770K 3レベルのキャッシュは8MBです、二次キャッシュは256キロバイトでの容量、より強力なCPU:私たちは、多くの場合、例えば、CPUのキャッシュ容量を購入する際懸念ます。

  バッファ容量は、CPUのみ、キャッシュをバイパスメモリに直接読み込むことになる、非常に頻繁ではないデータを使用して、データ部にキャッシュから読み出すことができ、限られています。だから、常にそれ以外の場合は中に死亡しているだろう、それはキャッシュヒットから読み取ることができ、キャッシュヒット率でキャッシュからデータを得ることはありません。キャッシュヒット率について複雑なアルゴリズムが存在し、データが保持されていないバッファに残っているどのようなデータ、科学です。

  CPUの作業を取得するには、そのような、サブ部門のために、CPUの命令セット(命令セット)と呼ばれる2の大きさを、比較するためのCMPの数を合計を追加するなどの特別な命令を使用する必要があります。当社のC言語のコードは、最終的にはCPU命令の一つにコンパイルされます。アセンブリ命令の異なるタイプのCPUのサポートは異なりますが、ほとんどは同じです。

  実際には、上記のコードはアセンブリ言語ではなく、CPUの命令を、簡単な変換CPU命令になるために通過するためにアセンブリ言語であり、より簡単に問題を説明するために、これらのステートメントは、厳密にアセンブラ構文を遵守していません。興味のある学生は、ここで説明することを約束していない、アセンブリ言語を自己学習することができます。

2、メモリにロードされ、プログラム起動し、実行してみましょう

  QQは、コンピュータにインストールされ、あなたが友人とチャットしたい場合は、QQは、QQのソフトウェアを開き、口座番号とパスワードを入力するアイコンをダブルクリックし、その上でログインすることができます。だから、QQは、それを実行する方法ですか?
  まず、一つのこと、あなたが明確でなければならない、あなたがインストールQQソフトウェアは、ハードディスクに格納されています。メモリに(基本的にソフトウェアをインストールすることは多くのデータを集めたものです)、オペレーティングシステムは、あなたがこのソフトウェアを実行したいことを知っているだろう、それはあなたがあなたのハードドライブにインストールQQソフトウェアを見つける、アイコンのQQをダブルクリックしてデータをコピーします。オン!これは、メモリにコピーされます!QQは、ハードドライブ上で実行されているが、メモリ内で実行されていません。なぜ?メモリリードおよびハードドライブよりもはるかに速い速度を書くので。読み取りと書き込みの速度、メモリ> SSD>機械的なハードドライブの場合。機械的なハードディスクドライブが読み取りおよび書き込みデータを、データメモリ回路を読み書きするためにモータによって回転され、モータ速度は確かに伝送レート電気(光の速度ほとんど)速くありません。ソリッドステートドライブは、読み出し回路を介してデータの書き込みが、制御およびメモリ、およびメモリの速度と同じではないがありません。だから、それはQQを実行しているか、Word文書を編集しているかどうかが最初にメモリにハードディスク上のデータをコピーされ、CPUが処理することを可能にするために、このプロセスは、ロードメモリ(メモリにロード)と呼ばれています。このプロセスを完了し、特別なプログラム(ソフトウェア)を必要とし、このプログラムは、ローダ(ローダ)と呼ばれています。CPUとの契約は、直接メモリと、それは結果がメモリーに保存され、メモリプロセス内のデータを読み込みます。あなたはハードディスクにメモリ内のデータをコピーする前に、お使いのハードディスクに保存する必要がある場合。たとえば、私たちは同じを見ないものの、いくつかのテキストを入力し、Word文書を開くが、ドキュメントは、ハードドライブを変更しない、一時的にメモリに保存された新しいテキストは、Ctrl + Sは、ハードドライブに保存されます。それは、停電メモリの後にデータが失われますので、あなたが編集を終了場合は、Word文書には、それを保存することを忘れ、その後、あなたがコンテンツを取得することはできませんので。

仮想記憶

  我々はより多くの実行プログラムは、メモリ(メモリ)の容量によって占められる空間を超えてしまいます場合。例えば、コンピュータのメモリ容量は2Gですが、3Gを意味10のプログラム、3Gスペースの合計を占める10個のプログラムを実行することは明らかに不可能である、メモリにハードディスクからデータをコピーする必要があります。プログラムの動作に必要なスペースは、メモリ容量よりも大きい場合、メモリは一時的に戻ってハードディスクにデータを書き込むません。そして、そのデータが必要なときに、ハードディスクから読み取る:OS私たちは、この問題を解決するために(オペレーティングシステムは、OSと呼びます)他の部分は、ディスクのデータに書き込まれません。このように、一時的に未使用のデータを格納するために使用されるハードディスクメモリ空間の部分が存在することになります。スペースのこの部分は、仮想メモリ(仮想メモリ)と呼ばれています。3G - 2G = 1G、1G状況上記ハードディスク上の仮想メモリを割り当てる必要があります。ハードディスクは、読み取りと書き込みのメモリよりもはるかに遅い速度を、繰り返しデータは、多くの時間を消費交換するので、あなたのメモリが小さすぎる場合、それは真剣に、コンピュータの速度に影響を与えるだろう、でも「スタック」現象、CPUが強い場合でも、それはしません大きな違い。経済状況が許すならば、それはwin7の、win8では、ソフトウェアは比較的流暢なwin10の下で実行され、4Gへのメモリのアップグレードを推奨します。

 参考:「C言語およびメモリ」(有料)

 

おすすめ

転載: www.cnblogs.com/WPF-342201/p/11420590.html