4

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

ここで、特定のプロセッサでこのメモリ量を見つける方法を知りたいです。たとえば、プロセッサ 1.8 Ghz を使用している場合、このプロセッサで使用できるメモリ量を見つける方法を知りたいです。

私が尋ねようとしているのは、このメモリ量を見つける方法を教えてください。

4

5 に答える 5

7

これは、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 しかサポートしていないことに注意してください。

于 2010-03-20T09:52:52.050 に答える
1

アーキテクチャによって異なりますが、CPU はアドレス行の数によって制限されます。古い pentium pro 32 ビット CPU では、36 のアドレス行がサポートされていたため、CPU は最大 64GB をサポートできました。64 ビット CPU である i7-860 などの最近の CPU も 36 個の物理アドレスしかサポートしていないため、これも 64GB に制限されています。物理アドレス空間の量は、CPUID 命令コードを使用して見つけることができます。他の CPU は別の手法を使用するか、データシートを読む必要があります。x86 を勉強しているように見えるので、その場合、CPU がサポートしている場合は CPUID が必要です。

于 2010-03-21T06:09:40.750 に答える
1

「メモリ」仮想メモリまたは物理メモリを参照して、何を指していますか? 仮想メモリの場合、32 ビット プロセッサの場合は 4GB ですが、OS がその一部を使用するため、すべてを使用できるとは限りません。また、CPU の PAE (Physical Address Extension) と、OS が PAE カーネルを実行している場合にも注意してください。これにより、4GB を超える物理メモリをインストールして使用できるようになりますが、仮想アドレス空間は 4GB のままです。ご覧ください:

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

http://msdn.microsoft.com/en-us/library/aa366796(v=vs.85).aspx

http://msdn.microsoft.com/en-us/windows/hardware/gg487503

于 2011-05-05T03:37:13.283 に答える
1

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

于 2010-03-20T09:52:25.983 に答える
0

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

たとえば、8 ビット プロセッサは最大 255 の値を持ちます。これは、2 の 8 乗を取り、その値を 1 で引くことによって計算されます。この数値 255 は、CPU が処理できるバイト数であり、RAM はこの量を超えることはできません。

では、少しステップアップしましょう (しゃれは意図されていません)。16 it プロセッサの値は最大 65,535 で、これは 2 の 16 乗を取り、1 を引くことで計算されます (これで全体像がわかると思います)。これは、65,535 バイトの RAM、つまり 65.535 キロバイトを使用できることを意味します。うまくいけば、これは理にかなっています。

32 ビット プロセッサの値は最大 4,294,967,295 です (これらの数値はかなり大きくなっています)。これは 4,294,967,295 バイト、つまり 4.294967295 ギガバイトの RAM です。このテクノロジーは 90 年代に広く使用されるようになり、現在でも半人気です。

しかし、もちろん、テクノロジーが急速かつ頻繁に変化することは誰もが知っているので、そうです、32 ビット テクノロジーと同じくらい優れた 64 ビット コンピューターもあります。これは、現在最も一般的なプロセッサ タイプです。したがって、18,446,744,073,709,551,615 の値をサポートできます。ええ、それは保持できるバイト数でもあり、18.446744073709551615 エクサバイトに相当します。

そして、現在、この量を保持できるプロセッサはありませんが、128 ビット プロセッサもあります。それらは最大 340,282,366,920,938,463,463,374,607,431,768,211,455 バイトのデータを保持できます。これは 340.282366920938463463374607431768211455 にも相当します。それを超えるバイト測定の。しかし、これは 128 ビット プロセッサが多くのことを処理できることを示しているだけであり、近い将来それらが登場する可能性があります。人々が 128 ビット、64 ビット、32 ビット、16 ビット、または 8 ビットと言う理由は、それぞれが表す大きな数よりも、すべてを覚えようとするよりもはるかに簡単だからです。

だから、これが役立つことを願っています。NES には 255 バイトを超える 2 キロバイトの RAM があることを知っているので、8 ビットが正しいかどうかはわかりませんが、他のすべてが正しいことはわかっています。それが正しくない場合は、あなたに代わっていくつかの調査を行うこともできます;)。

于 2014-01-09T03:11:02.713 に答える