私の簡単な理解は次のとおりです。
メモリ(RAM)はビットで構成され、8つずつのグループでバイトを形成します。各グループはアドレス指定でき、バイトアドレス指定可能なメモリです。
アドレスバスは、1バイトのメモリの場所を格納します。
アドレスバスのサイズが32ビットの場合、最大2を保持できます。32 数とそれゆえそれは2まで参照することができます32 メモリのバイト数= 4GBのメモリとそれ以上のメモリは役に立たない。
データバスは、メモリに書き込まれる値/メモリから読み取られる値を送信するために使用されます。サイズ32ビットのデータバスを使用している場合、一度に最大4バイトのメモリへの書き込み/メモリからの読み取りが可能です。このサイズと可能な最大メモリサイズの間に関係はありません。
しかし、私は here を読みます:
ほとんどのシステムはバイトアドレス指定可能ですが、プロセッサができるだけ多くのデータを移動することは理にかなっています。これはデータバスによって行われ、データバスのサイズは、8ビットシステム、16ビットシステム、32ビットシステム、64ビットシステムなどの名前の由来です。データバスが8ビット幅の場合、1回のメモリ操作で8ビットを転送できます。データバスの幅が32ビットの場合(書き込み時に最も一般的)、最大32ビットを1回のメモリ操作で移動できます。
これは、データバスのサイズがOSに8ビット、16ビットなどの名前を付けるものであることを示しています。私の理解の何が問題になっていますか?
一般に、データバスのサイズは、プロセッサレジスタのサイズによって決まります。多くの場合、OSタイプを決定するのはプロセッサレジスタのサイズです(64対32)。物理的なバスサイズは技術的にこれとは異なる場合があります(例として8088)。ただし、見積もりの作成者が2つを関連付ける可能性は非常に低いです。
一般に、ポインタサイズはレジスタサイズにも従いますが、物理アドレスバス幅はより大きく(20の8086 16ビットの場合のように)、またはより小さく(48のAMD 64のように)できます。
これは、プロセッサ内のレジスタサイズとメモリ処理です。
トリックを使用すると、1つの16ビットプロセッサに20ビットのアドレスバスがあり、プロセッサの外部メモリではありません。
「純粋な」32ビットシステムまたは64ビットシステムはないため、用語はあくまでも近似値です。
例えば。あなたの声明を取る"メモリ(RAM)はビットで構成され、バイトを形成する8のグループであり、それぞれアドレス指定できる"。それはあまり一般的ではありません。 PCにはRAM DIMMモジュールがあり、64ビット幅です。90年代に戻ると、SIMMがあり、32ビット幅でした。
一部のシステムでは、DIMMはペアにする必要があるか、ペアにすることができます(「ギャング」/「デュアルチャネル」)。これは128ビットのデータバスです。このコンセプトは、AMDおよびIntelのいわゆる「64ビット」プロセッサよりも古いものです。
単一のDIMMからの64ビットのグループは、実際に8バイトに分割できます。それはあなたのCPUによってかなり透過的に行われます。また、64ビットを4 * 16ビット、2 * 32ビットに分割したり、64ビットすべてを単一の変数として使用したりすることもできます。
ただし、最も重要な問題は住所の幅です。メモリ内のすべてのバイトは独自のアドレスを持っていますが、すべてのビットを持っているわけではありません。つまり、単一のDIMMから取得する64ビットには8つのアドレスがあります。これらの最小値は常に8の倍数です。今、CPUはいくつの異なるアドレスをサポートしていますか?少なくとも理論的には、2つの一般的な答えがあります。一部のCPUのサポート232 異なるアドレス、一部はサポート264。この違いは、32ビットシステムと64ビットシステムの最も一般的な違いです。
実際には、64ビットシステムは現在2未満をサポートしています。64 RAMのバイト。それは手頃な価格ではなく、とにかく通常のPCには適合しません。それだけのメモリは数百万トンにもなります!
両方とも。
CPUのビットは通常、その内部レジスターのサイズの参照です。 32ビットCPUには32ビットのレジスタがあり、チャンクに分割される場合と分割されない場合があります。
すべてのデータをメモリから直接レジスタに転送できるため、32ビットのデータバスを備えた32ビットCPUを使用することは理にかなっていますが、データバスのサイズは任意です。そのため、32ビットCPUは通常、32ビットデータバスを備えており、データを簡単に転送できます。
また、2つの理由で32ビットアドレスバスを使用することにも意味があります。メモリバスを格納するのに十分な大きさのレジスタがないか、CPUがメモリアドレス指定に専用のレジスタを必要とするため、アドレスバスが大きくなると間接アドレス指定が難しくなります。Intel8080などの古いCPUは8ビットで、 16ビットアドレスバス。反対に、レジスタよりも小さいアドレスバスは、リソースの無駄遣いです。より小さなアドレスバスを使用するマイクロコントローラがあります。