私は単語長がハードウェアとソフトウェアの両方で実装されなければならないISA機能であることを知りました。私は答えについて漠然とした考えを持っています。私は訂正や確認が必要です。ワード長はCPUの汎用レジスタのサイズになりますか?単語の長さはコンパイラの 'int'のサイズになりますか?ISAの語長がハードウェアとソフトウェアにどのように実装されていますか?
答えて
ハードウェア実装:ワード長は、CPUが一度に取り出したバイト数であり、マシンの自然サイズとも呼ばれます。コンピュータについては自然なことは何もありません。それは、それがフェッチするものを格納するためのレジスタを必要とするため、実装時にはCPUのレジスタのサイズにもなります。以上のことから、目的を格納するために大きなレジスタを使用することは可能です。 IA-32ソフトウェア(ワード長32ビット)はx86-64(ワード長64ビット)で実行できます。 ソフトウェアの実装:単語の長さは 'int'のサイズになります(ちょっとint、長くない、短い)
word lengthは、システムによってネイティブに処理されるビット数です。現在一般的なバージョンは32ビットワードと64ビットワードです。
たとえば、バイトに0〜255の数値を格納できます。ただし、32ビット整数は0〜4,294,967,295です。整数はシステムのネイティブ「ワードサイズ」であり、32ビットシステムでは4バイト幅であるため、0-255よりもかなり大きい。
実際、多くのシステム/コンパイラ/ etcでは、システムのネイティブ・ワード・サイズよりも小さいタイプは、複数の値を1つのワードに入れるよりも効率的であるため、そのワード・サイズに変換されます。たとえば、ブール値は1ビットで表すことができます。しかし、32個のブール値を使用するソフトウェアを書くと、それらをすべて1つの単語に絞り込むことはありません。金属の上を走っているときは、それぞれに独自の単語が割り当てられます。
私はCやC++のコンピュータ上で自由度を持ち、この問題を整数のサイズとして解釈しています。その場合、このリンクは役に立ちます - Does the size of an int depend on the compiler and/or processor?。 しかし、文字通り読むと、CPUのワードのサイズはそのレジスタのサイズでなければなりません。
- 1. Collection.sortがどのように実装されていますか?
- 2. @privateはどのように実装されていますか?
- 3. BigDecimalはどのように実装されていますか?
- 4. HttpSessionはどのように実装されていますか?
- 5. removeEventListenerはどのように実装されていますか?
- 6. INativeElementViewはどのように実装されていますか?
- 7. PTRACE_SINGLESTEPはどのように実装されていますか?
- 8. テンソルフローはどのように実装されていますか?
- 9. \ bはどのように実装されていますか?
- 10. フィルタはどのように実装されていますか?
- 11. MarshalByRefObjectはどのように実装されていますか?
- 12. クロスバリデーションはどのように実装されていますか?
- 13. タスクスケジューリングはどのように実装されていますか?
- 14. os.path.fileはどのように実装されていますか?
- 15. getchar()はどのように実装されていますか?
- 16. モバイルバックグラウンドループはどのように実装されていますか?
- 17. CPythonでジェネレータとコルーチンがどのように実装されていますか?
- 18. [オーディオコーデック]:通常、ミキサー機能は、ハードウェアまたはソフトウェアのオーディオコーデックで実装されていますか?
- 19. Wami Recorderは実際にどのように実装されていますか?
- 20. XNAはどの言語で実装されていますか?
- 21. mutexとlock構造はどのように実装されていますか?
- 22. AndroidセンサーTYPE_LINEAR_ACCELERATIONとTYPE_ROTATION_VECTORはどのように実装されていますか?
- 23. linuxではclock_gettimeがどのように実装されていますか?
- 24. バイトコードレベルでScalaでパターンマッチングがどのように実装されていますか?
- 25. データベーステンプレートライブラリ(C++)でvariant_rowがどのように実装されていますか?
- 26. Surface SDKではジェスチャがどのように実装されていますか?
- 27. String.concat()がjavascriptでどのように実装されていますか?
- 28. Goでインタフェース変数がどのように実装されていますか?
- 29. spiceworksデスクトップITソフトウェアの開発にはどのような言語が使用されていますか?
- 30. chshはどのようにlinuxに実装されていますか?
@Neera私は、私が求めている情報をより明確にするための質問を改訂しました。いつかもう一度それを読んで答えてください。 – KawaiKx