如果2^32bits = 4Billion(大致)位而不是字節,32位地址是4GB?從本質上講,4Gb如何變成4GB?如果內存正在尋址字節,那麼可能性不應該是2 ^(32/8)?如果2^32bits = 4Billion位而不是字節,32位地址是4GB?
回答
這取決於您如何處理數據。
如果使用32位來尋址每個位,則可以尋址2^32位或4Gb = 512MB。如果你像大多數當前的體系結構一樣處理字節,它會給你4GB。
但是,如果您尋址更大的塊,則需要更少的位來尋址4GB。例如,如果您尋址每個512字節塊(2^9個字節),則可以使用23位尋址4GB。 FAT16使用16位來尋址最大64KB羣集,因此可以尋址最大4GB容量。一些較舊的體系結構使用word-addressed memory而不是像現今大多數字節一樣使用字節。在Java Compressed Oops中使用相同的地址,您可以使用32位參考地址來訪問32GB的RAM。無論如何,你的問題很混亂
芯片上的電氣接口包括(非常簡化)地址線(例如32條地址線)和數據線(例如8條線用於讀取來自RAM的數據,8條線用於寫入數據到RAM)。在這種情況下,您有8位2^32字,因此您可以處理2^32 * 8位數據。
如果你有一個字寬爲16位的RAM(比8位更有可能),你將能夠使用相同數量的地址位尋址兩倍的RAM。在現代系統中,你不能真正「讀取一個字節」,而是CPU從RAM中提取一個完整的緩存行,然後只給你所要求的字節。
但邏輯地址仍然(通常)在一個字節的「分辨率」.. – user2864740 2014-09-13 07:57:42
大多數現代計算機都是可以字節尋址的,每個地址標識一個8位字節的存儲空間;太大而不能存儲在單個字節中的數據可能駐留在佔據一系列連續地址的多個字節中。存在可尋址的計算機,其中最小的可尋址存儲單元正是處理器的詞。例如,Data General Nova小型計算機,德州儀器TMS9900和美國國家半導體IMP-16微型計算機使用16位字,並且有許多使用18位字尋址的36位大型計算機(例如PDP-10)不是字節尋址,給出了2^18個36位字的地址空間,大約1兆字節的存儲空間。內存尋址的效率取決於用於地址的總線的位大小 - 使用的位數越多,計算機可用的地址就越多。例如,具有20位地址總線(例如Intel 8086)的8位字節可尋址機器可以尋址2^20(1,048,576)個存儲器位置,或者一個MiB存儲器,而32位總線(例如Intel 80386)尋址2^32(4,294,967,296)個位置或4個GiB地址空間。
- 1. 地址被視爲32位而不是64位
- 2. 爲什麼32位等於4Giga字節而不是4吉位
- 3. uint32_t有28位而不是32位
- 4. mips是否有32位地址和32位指令?
- 5. Android:java.lang.UnsatisfiedLinkError:dlopen失敗:libwebviewchromium.so是32位而不是64位
- 6. 如何檢測,如果CPU是32位還是64位
- 7. 無論系統是32位還是64位,int都是32位還是64位?
- 8. 爲什麼32位處理器的4Gbibytes而不是4Gibibits的地址空間?
- 9. 32位和4GB內存之間的關係是什麼?
- 10. 爲什麼32位機器的最大容量是4GB?
- 11. 無論系統是32位還是64位,uint均爲32位?
- 12. 強制Java applet運行在32位而不是64位JRE
- 13. Java MessageDigest提供31位而不是32位
- 14. Cmake:告訴find_package尋找32位庫(而不是64位lib)
- 15. MIPS如何轉移到32位地址?
- 16. 假計算機體系結構點(32位而不是64位)
- 17. IIS 7.5使用32位驅動程序而不是64位
- 18. 強制SHDocVw.InternetExplorer 32位而不是64位在Windows 7-64
- 19. 在32位尋址的字節尋址空間中,引用8位需要32位存儲空間?
- 20. 如何找到如果apk是32位或64位
- 21. 肥皂:地址位置顯示的是主機名而不是DNS網址
- 22. 具有32位邏輯地址的字節可尋址存儲器的總大小是多少?
- 23. 是否可以在位而不是字節中執行memcpy?
- 24. 從32位數獲得IP地址
- 25. 如何從32位/ 24位從字節到16位轉換爲字節
- 26. 在32位和64位平臺上總是處理32位?
- 27. InnoSetup:檢測如果Java是32位或64位
- 28. 「dlopen的失敗:是32位而不是64位的」在測試中僅
- 29. Solr - 在Windows 7上使用64位Java而不是32位Java 64位
- 30. 從C語言地址讀取8位或16位或32位
令人困惑的問題(也許與錯字:23應該是32)。閱讀有關計算機體系結構最常見的處理器是尋址字節,而不是位。 – 2014-09-13 07:30:46
謝謝。更正了23到32. – mkatt 2014-09-13 07:34:14
「2^32」是(表達式表示)一個數*沒有*隱式單位;這是任意添加的,並且是這裏的核心混亂。嘗試別的..「2^32甜瓜味冰淇淋錐」,美味! – user2864740 2014-09-13 07:39:49