マシンのWORDは常に同じですか、それともマシンのアーキテクチャに依存しますか? また、 WORDという単語の意味は、文脈に依存するものですか、それとも一般的に適用できるものですか?
9 に答える
マシン ワードのサイズはアーキテクチャによって異なりますが、オペレーティング システムがアプリケーションを実行する方法にも依存します。
たとえば、Windows x64 では、アプリケーションは 64 ビット アプリケーション (64 ビット マシン ワードを持つ) または 32 ビット アプリケーション (32 ビット マシン ワードを持つ) として実行できます。そのため、マシン語のサイズは、同じマシン上でも異なる場合があります。
この用語WORD
は、使い方によって意味が異なります。機械語、または特定のサイズの型のいずれかを意味します。x86 アセンブリ言語WORD
では、DOUBLEWORD
( DWORD
) およびQUADWORD
( QWORD
) は、マシン語のサイズに関係なく、2、4、および 8 バイトのサイズに使用されます。
ワードは通常、CPU の「ネイティブ」データ サイズです。つまり、16 ビット CPU では 1 ワードは 16 ビット、32 ビット CPU では 32 などです。
もちろん例外は x86 で、1 ワードは 16 ビット幅 (x86 は元々 16 ビット CPU だったため)、DWORD は 32 ビット (32 ビット CPU になったため)、QWORD は64 ビット (64 ビットの拡張機能がボルトで固定されているため)
マシンのアーキテクチャに依存します。このドキュメントでは、これに関するいくつかの基本事項について説明します。
はい。
わかりました、もう少し明確にさせてください。記憶の言葉について話していると仮定すると、2 つの広い定義があります。
まず、ワードは多くの場合、ハードウェアでアトミックにアクセスできる単一のアイテムの自然なサイズです。これはプラットフォームに大きく依存するサイズで、通常は 16、32、または 64 ビットですが、実際には他のサイズも見つかっています。
第 2 に、16 ビット値を具体的に意味するためによく使用されます。そのコンテキストでは、32 ビット値を意味するために使用される DWORD が表示されます。この使用法は x86 プラットフォーム、特に Windows では一般的ですが、DEC PDP-11 と VAX、および Motorola 68000 の子孫でも使用されていました。
どちらが意図された使用法であるかは、コンテキストによって異なります...
x86 では、1 ワードに対して 16 ビット (2 バイト) が一般的です。
私の理解では、WORDは(特定のマシンで)1回のアクションでCPUに押し込めるビットの量であるため、8ビットアーキテクチャでは8ビットであり、最新の64ビットアーキテクチャでは64ビットです.
若者は皆、32 ビットの this と 64 bit のことで熱狂しています。ご存知のように、x86 ファミリ以外のマシン アーキテクチャがありました。PDP-11 には 40 ビット ワードがありました。
しかし、最も簡単な答えはWikipediaを検索することです。