我已經瞭解到,字長是一個ISA功能,必須在硬件和軟件中實現。我對於答案只有一個模糊的想法。我需要更正或確認。字長是否成爲CPU中通用寄存器的大小?字長是否成爲編譯器的'int'的大小(只是簡單的int,不是長或短)?如何在硬件和軟件中實現ISA的字長?
1
A
回答
0
硬件實現:字長是CPU一次讀取的字節數,也可以稱爲機器的自然大小。儘管電腦沒有什麼自然之處。它在實現中也成爲CPU寄存器的大小,因爲它需要寄存器來存儲它所提取的內容。話雖如此,可以使用更大的寄存器來存儲目的。 IA-32軟件(字長32位)可以在x86-64上運行(字長64位)。 軟件實現:字長變成'int'的大小(只是普通的int,不長,很短)
2
word長度是系統本地處理的位數。現在的通用版本是32位字和64位字。
例如,一個字節可以包含0-255之間的數字。但是,32位整數是從0-4,294,967,295。整數是系統的本機「字長」,因此在32位系統中寬度爲4字節,因此比0-255大得多。
事實上,在許多系統/編譯器/等等。小於系統本地字大小的類型將被轉換爲該字大小,因爲它比試圖將多個值放入單個字中更有效。例如,一個布爾值可以用一個位來表示。但是,如果您編寫一個使用32個布爾值的軟件,它不會將它們全部壓縮成一個單詞。當它在金屬上運行時,每個單詞都將被分配自己的單詞。
1
我正在採取自由和解釋這個問題作爲在C或C + +計算機上的整數大小。在這種情況下,這個鏈接將有所幫助 - Does the size of an int depend on the compiler and/or processor?。 但是,如果逐字讀取,那麼CPU的字的大小應該是其寄存器的大小。
相關問題
- 1. opengl如何區分軟件和硬件實現?
- 2. SAML和OAUTH的硬件軟件要求
- 3. 軟件SPI實現
- 4. 在軟件中實現SSE 4.2的CRC32C
- 5. qemu:硬件錯誤:無法設置isa irqs,不存在isa總線
- 6. 軟件來管理(硬件和軟件)資產
- 7. 如何在沒有分割硬件和沒有浮點硬件的二進制中實現浮點除法
- 8. 在軟件中實現超時
- 9. 在軟件中實現802.1x驗證器?
- 10. 微軟的App-V和硬件ID
- 11. 信號,軟件中斷和硬件中斷之間的區別?
- 12. TRAP,軟件中斷和硬件中斷之間的區別?
- 13. 軟件Perlin噪聲實現
- 14. 兩部手機在硬件和相關軟件方面是如何配對的?
- 15. 類型表和軟件硬編碼值
- 16. 平方根的硬件實現?
- 17. 電腦的哪些部分呈現文字?硬件還是軟件?
- 18. 如何指定您的軟件需要的硬件?
- 19. 如何在硬件上實現數學指令?
- 20. 基於Web的在線圖表(這些軟件如何實現)
- 21. 軟件如何引用硬盤驅動器上的文件
- 22. 硬件vs軟件在上下文切換中的作用
- 23. 在對象中實現的isa指針究竟在哪裏?
- 24. 如何從現有的軟件包創建npm軟件包?
- 25. C++ 17並行硬件實現
- 26. 使用OpenGL實現Shadow Map硬件PCF
- 27. SDL:硬件渲染VS軟件渲染
- 28. 硬件/軟件清單開源項目
- 29. Hadoop集羣需求軟件/硬件
- 30. 將軟件連接到硬件101
@Neera我已經修改了這個問題,以便更清楚地知道我正在尋找哪些信息。請隨時再次閱讀並回答。 – KawaiKx 2011-02-28 01:56:42