1. 程式人生 > >關於系統的位數與定址能力,他們之間的關係

關於系統的位數與定址能力,他們之間的關係

之前在C++技術網發的一篇文章,複製過來,記錄一下。  

    我們經常說32位的作業系統最大能用4G的記憶體(實際會更小),再大了系統識別不出來,因為超過了定址範圍。

    實際這裡我們只考慮了軟體層面,64位的系統要搭配64位的CPU才行,而實際最終決定定址範圍的是CPU的地址匯流排。32位的CPU其地址匯流排是32根,每一根都可以看做二進位制數中的一個位,故其定址範圍為2^32個記憶體單元,而計算機內部一個記憶體單元一般為1Byte(也就是8個bit,注意這個位(bit)和之前所說的位(二進位制數中的一個位)區分),所以最終定址範圍就是

     2* 210 * 210 * 210 Byte

 = 2* 210* 210 KB = 2* 210 MB = 4 GB ;

    當然64位的CPU可以安裝32位的系統(現在絕大多數是64位的),所有才會有系統的位數會影響定址能力這一說法。