亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【答疑系列】為什么32位系統只支持最大4G內存?

標簽:
操作系統

这个问题一直都有同学问到,算是提问次数最多的问题之一了。

32位是什么

现在主流的操作系统都是64位的,早期存在32位操作系统,相信大家也都有所听闻,其实,在更早之前,还有16位、8位的,这里就不展开了。

位,指的比特位,32位指的就是计算机总线一次传输的数据长度,包括数据总线、地址总线、控制总线。

地址总线

地址总线是用来传送数据的地址的,主要用于CPU、DMA,通过地址总线传输地址,找到对应地址的数据,再通过数据总线传输对应的数据。那么因为操作系统是32位,所以地址长度最长也为32位,则最大的寻址范围为2^32次方。

到这里,问题似乎就结束了,因为2^32字节=4G,说明最大寻址空间为4G。

但其实没有,提问:为啥2^32寻址范围对应的是字节呢?为什么不能是比特或者是其他的单位。

这其实是寻址方式决定的。

按字节寻址

计算机内存一般是按字节寻址的,当计算机以这种方式寻址时,一个地址就和一个字节对应,所以才有了2^32字节=4G的计算方式,通过这种计算方式,可以得到32位系统最多支持4G内存的结论。

按字寻址

除了按字节寻址以外,还有一种按字寻址的方式。字的大小可以是32位,也可以是64位,当按字寻址的时候,每个地址指向的就是一个字,假设一个字为32位,那么32位地址就可以存储2^32*32/8=16G空间。

所以在讨论寻址范围的时候,还需要把按字节寻址和按字寻址的区别也考虑进去。

寻址范围和寻址空间

寻址范围和寻址空间是两个概念,上面也多次提到,这两个概念是不一样的,这里也需要特别注意一下,寻址范围指的是一个范围,他是一个区间,不带任何单位;而寻址空间指的是可以寻址的容量,它是带单位的。

相信看到这里,大家就都可以透彻的回答“为什么32位系统最高只支持4G内存”这个问题了。

點擊查看更多內容
7人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
7437
獲贊與收藏
1768

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消