爲什麼32位cpu只支持4G內存?

理解基本概念

首先內存是cpu處理數據的臨時存儲站,cpu每次解析的數據(指令)都是內存傳來的,數據流向:硬盤->內存->L3->L2->L1->L0(用作計算的CPU內核),L1-L3是一般操作系統都支持的多級緩存,目的是解決CPU和內存的速度不匹配問題。

在微機的內存中,每個基本單位都被賦予一個惟一的序號,這個序號稱爲地址,而內存的基本單位是Byte(這一點對後面計算4GB這個值很關鍵)。
CPU裏有三根線:控制線,地址線,數據線,地址線傳遞數據的地址,再根據地址通過數據線去取數據。

換算過程

32位cpu的意思就是cpu每次解析數據是32bits,也就是4B,那麼支持的地址就是4B長度的,也就是支持的最大內存是2^32 (個地址)*1Byte(內存基本數據單位)=4GB,地址空間範圍爲0~2^32-1 (-1是因爲全部位數都爲1時歸0)=2^32個地址
因此32位cpu最高尋址空間支持4GB的數據(不考慮使用PAE——物理地址擴展技術)。

但是地址長度不代表真正能支持這麼大的尋址空間,決定尋址空間的還在於地址線,地址線是用來傳輸地址信息用的,因此地址線能傳多長的數據(考慮CPU,這個長度小於等於CPU處理數據位數),才決定尋址空間也就是支持的內存大小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章