1. 程式人生 > >cpu的定址空間和記憶體的地址

cpu的定址空間和記憶體的地址

轉自:http://blog.chinaunix.net/uid-30234312-id-5076067.html

儲存器裡以位元組為單位儲存資訊,每個位元組單元存放的是一個8位二進位制數(例如,11001100這個8位二進位制數存放在一個位元組單元裡),每個位元組單元都給一個唯一的編號(專業稱呼是:儲存器地址),每個編號都代表一個位元組單元,而且這些編號是從零開始的,最大的編號就是最後一個位元組單元。如果給定一個1G的記憶體,他有多少個位元組單元呢?好了我們先來做一個六年級學生做的計算:1G = 1024M = 1024*1024KB = 1024*1024*1024Byte = 1073741824Byte 說明1G的記憶體有這麼多個位元組單元,說明這個1G記憶體裡的位元組單元編號是從0到1073741824,我們要想用一個32位的cpu訪問最後一個位元組單元裡的資料,則它定址的二進位制碼是00111 11111 11111 11111 11111 11111,我們將該二進位制數轉換成十進位制數剛好是1073741824。我們換成4G的記憶體再做一次計算:4G = 4*1G = 4*1073741824 = 4294967296Byte。說明最後一個位元組單元的編號是

4294967296。這麼大的數用二進位制表示看看。11111 11111 11111 11111 11111這32個1剛好是4294967296。這就是32位處理器最大定址空間是4G的由來。