ワードとバイトの違いは何ですか? 質問する

ワードとバイトの違いは何ですか? 質問する

調べてみました。バイトは 8 ビットで、ワードはメモリ上でアドレス指定できる最小単位です。ワードの正確な長さはさまざまです。理解できないのは、バイトを使用する意味が何なのかということです。なぜ 8 ビットではないのでしょうか。

ある教授にこの質問をしたところ、最近のマシンのほとんどはバイト単位でアドレス指定できるとのことでしたが、それでは単語はどうなるのでしょうか?

ベストアンサー1

バイト: 今日では、1バイトはほぼ常に8ビットです。しかし、いつもそうだったわけではないそして、これを規定する「標準」や何かはありません。8 ビットは扱いやすい数値であるため、事実上の標準になりました。

言葉: のプロセッサがデータを処理する自然なサイズ(レジスタサイズ)。現在最も一般的なワードサイズは8、16、32、64ビットですが、他のサイズも可能です。例えば、36 ビットマシン、 あるいは12 ビットマシン

バイトCPU のアドレス指定可能な最小単位です。単一ビットを設定/クリアする場合は、まずメモリから対応するバイトを取得し、ビットを操作してから、バイトをメモリに書き戻す必要があります。

対照的に、言葉プロセッサが一度に処理(加算や減算など)できる最大のビットの塊で、通常は整数レジスタの幅です。この定義はややあいまいで、プロセッサによっては異なるタスク(整数と浮動小数点処理など)ごとに異なるレジスタサイズを持つものや、レジスタの一部にアクセスできるものがあります。ワードサイズは、プロセッサが一度に処理できる最大のレジスタサイズです。過半数操作が機能します。

異なる機能を持つプロセッサもいくつかありますポインタサイズ: たとえば、8086 は 16 ビット プロセッサであり、レジスタの幅は 16 ビットです。ただし、そのポインタ (アドレス) は 20 ビット幅であり、2 つの 16 ビット レジスタを特定の方法で組み合わせて計算されます。


一部のマニュアルやAPIでは、"言葉"以前のレガシーサイズに「固執」している可能性があり、プラットフォームがより大きなレジスタサイズをサポートするように進化したときに、プロセッサの実際の現在のワードサイズと異なる可能性があります。たとえば、IntelおよびAMD x86のマニュアルでは、「ワード」は16ビットを意味するDWORD(ダブルワード、32 ビット) とQWORD(クアッドワード、64 ビット)は、より大きなサイズです。これは、Microsoft の WinAPI などの一部の API に反映されます。

おすすめ記事