どのように我々は、このプロセッサは、どのくらいのメモリをサポートしていることを見つけることができますか?

StackOverflow https://stackoverflow.com/questions/2482530

  •  21-09-2019
  •  | 
  •  

質問

私は、アセンブリ言語のプログラミングを始めているし、最初の講義で私たちの先生は、Intel 8080とIntel 8085について語ってくれたし、彼はこれらのプロセッサと64kのメモリがあったと述べました。

今、私は例えば、私は今、私は、このプロセッサで使用できるメモリの量を調べることができますどのように、プロセッサ1.8 GHzのを持って、どのように我々は、特定のプロセッサとメモリのこの量を見つけることを知ってほしいです。

私が尋ねるしようとしていますが、我々はメモリのこの量を見つけることができますどのように私の方法を教えているのですか?

役に立ちましたか?

解決

はまた、(物理的に)CPUサポートアドレッシング、アドレスビットの数は、典型的には、のビット数に依存する<=アドレス・レジスタ内のビット数、例えば

8085/Z80 - 16 bit address registers - 16 bit addressing - 64 kB address space
68008 - 32 bit address registers - 20 bit addressing - 1 MB address space
68000 - 32 bit address registers - 24 bit addressing - 16 MB address space
68020 - 32 bit address registers - 32 bit addressing - 4 GB address space

なお、多くの64ビットCPU、典型的には40ビットのアドレス空間、すなわち1 TBのようなものをサポートしています。

他のヒント

は通常、プロセッサは、単一の整数レジスタは、任意のメモリ位置のアドレスを格納することができるように設計されています。したがって、「メモリの最大量は、」レジスタのビット量(又はプロセッサ)によって決定されます。 32ビット4 GBに等しいです。 64ビットがエクサバイトのRAMの16に等しい。

はアーキテクチャに依存しますが、CPUはそれが持っているどのように多くのアドレス線によって制限されます。古いPentium Proプロセッサの32ビットCPUでサポート36本のアドレスラインがあったので、CPUは64ギガバイトまでサポートすることができました。 64ビットCPUであり、例えばi7-860などのより最近のCPUは、また、唯一の36個の物理アドレスをサポートしており、従ってすぎる64ギガバイトに制限されています。物理アドレス空間の量は、他のCPUは、異なる技術を使用するか、データシートを読み取る必要な場合があり、CPUID命令コードを使用して求めることができます。その場合にはCPUIDは、あなたが望むものであるので、それはあなたのCPUのサポートしている場合は、あなたの勉強のx86のように思える。

あなたは「メモリ」の仮想メモリを参照するか、物理的なによって何を指していますか?あなたはOSがそれの一部を使用してそれらのすべてが使用されるように得られない可能性がありますが、仮想メモリの場合には、32ビットプロセッサ用に4GBです。また、あなたのCPUのためのPAE(物理アドレス拡張)を注意し、OSはPAEカーネルを実行している場合。これは、物理メモリの4ギガバイトをインストールし、使用する以上、あなたを与えるだろうが、仮想アドレス空間は、まだ4ギガバイトのまま。見てくださいます:

http://en.wikipedia.org/wiki/Physical_Address_Extensionする

http://msdn.microsoft。 COM / EN-US /ライブラリ/ aa366796(V = VS.85).aspxの

http://msdn.microsoft.com/en-us/windows/ハードウェア/ gg487503する

まあ、それは特定の変数に依存します。

は例えば、8ビットプロセッサは、8乗に2を取って、1によって値を減算して考え出した255までの値を有しています。この番号、255は、CPUが処理できるどのように多くのバイトで、RAMは、この金額を超えることはできません。

さて、(何の駄洒落が意図していない)のステップそれを少ししましょう。 16-それプロセッサは65535までの値を持ち、それは再び16乗に2を取ることによって、考え出した、そして(私はあなたが今、大きな画像を得るよ)1を引きました。これは、我々はRAMの65,535バイト、または65.535キロバイトを持っていることを意味します。うまくいけば、これは理にかなって始めてます。

は、32ビットプロセッサは、(これらの数字は非常に大きななっている)、最大4,294,967,295までの値を持っています。それは4,294,967,295バイト、またはRAMの4.294967295ギガバイトです。この技術は、90年代に多く使用され始め、それはまだ今日半人気を保っています。

しかし、もちろん、我々はすべての技術を迅速かつ頻繁に変更されるので、32ビットの技術としては良いがあるようはい、64ビットコンピュータが、またそこにある方法を知っています。これは、実際には、今日最も一般的なプロセッサのタイプです。だから、彼らは18,446,744,073,709,551,615の値をサポートすることができます。うん、それは18.446744073709551615エクサバイトに等しい、それが保持することができますどのように多くのバイトもあります。

そして、現在、この量を保持することができます何のプロセッサが存在しないにも関わらず、また、128ビットプロセッサがあります。彼らはまた、340.282366920938463463374607431768211455に等しいデータの340,282,366,920,938,463,463,374,607,431,768,211,455バイト、...ええと...まあ、たまたまバイトのいくつかの測定は、ヨタバイトよりも大きくなるように、そして私の知る限り、任意のユニットが存在しないまで保持することができますそれを越えてバイトの測定。しかし、ちょっと、それはちょうど128ビットプロセッサは、多くのことを扱うことができるかを示します、そして、私たちは遠い将来でそれらを見ている可能性があります。それは彼らのそれぞれが表すものを大量に比べすべてのそれらを覚えしようとするよりもはるかに簡単ですので、人々は、128ビット、64ビット、32ビット、16ビット、または8ビットと言う理由がある。

だから、私はこのことができます願っています。私は他のすべてが正しいことを知って、私はNESが255バイトを超えるRAM、の2キロバイトを持って知っているので、必ず8ビットのいずれかが、正しいことないんだけど、。それが正しくない場合は、同様にあなたに代わっていくつかの研究を行うことができます;)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top