32位操作系統最多只支持4G內存。
CPU能不能直接訪問硬盤的數據呢, 不能。 只能通過把硬盤的數據先放到內存里, 然后再從內存里訪問硬盤的數據。我們平時玩游戲碰上讀圖loading 進度條的這個過程, 就是把數據從硬盤讀到內存的過程啊。 讀完條后地圖的數據就在內存中了。
內存是把8個8個bit排成1組, 每1組成為1個單位, 大小是1byte(字節), CPU每一次只能訪問1個byte, 而不能單獨去訪問具體的1個小格子(bit)。1個byte字節就是內存的最小的IO單位。
1千兆字節(gb)=1073741824字節(b)。
32位只支持2^32個尋址。也就是4294967296字節的大小。除以上面的1073741824得到4G。
2^32 = 4 * 1024(G) * 1024(M) * 1024(K) = 4294967296 , 就是4G 啊, 而每1個地址對應1個1個字節, 容量就是1byte, 所以2^32個地址就總共能對應應4GB 的內存容量啊, 這里的B指的是byte 字節啊。
既然32位系統里內存地址長度是32位的. 所以32位的地址范圍就是從 0000 0000 0000 0000 0000 0000 0000 0000 到 1111 1111 1111 1111 1111 1111 1111 1111 啦(Ox00000000 ~ OxFFFFFFFF), 這里有幾個地址呢? 明顯是有 2^32 個啦。每個地址對應一個8bit的的內存單位。
64位操作系統,最高支持2^32*4G內存,非常大了。
一個地址,對應一個字節的內存容量。一個字節的內存容量能夠存儲8bit。4個字節的內存容量,存儲32bit,存儲一個地址。
內存存儲於訪問:
-
內存最小單位是一些類似於二極管這樣的東西,它能存儲一個電狀態,高或低,可表示1或0。
-
這些單元經過組織起來保存數據,組織的方法是8個編成一個字節,4個字節一個字,每組數據都可以讀寫。
-
這些單元按照順序排放后用地址編號,按照地址可訪問其中的任一個字、字節。
-
這些電路訪問時由兩組數據連線:地址線和數據線,比如都是32位的,地址線描述要訪問的具體單元,數據線存放要給這個單元賦值的數據(寫訪問)或讀出的數據(讀訪問)。
-
這些單元上電時才能保持狀態,所以內存你一掉電(關機),其中的數據就丟失了。