arm 为啥是 32位微处理器 所以ARM体系结构所支持的最大寻址空间为4GB
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arm 为啥是 32位微处理器 所以ARM体系结构所支持的最大寻址空间为4GB相关的知识,希望对你有一定的参考价值。
所谓32位微处理器,指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为32位,32位指令集就是运行32位数据的指令,也就是说处理器一次可以运行32bit数据。由于32位数据能够包含的地址有2^32=4294967296=4194304K=4096M=4G,所以说最大寻址空间为4GB,但由于指令代码中不可能只包含内存的地址信息,所以一般来说32bit的处理器能够寻得的地址只有不足4GB。
每个数只能定位一个字节,这样才能确保每个字节都节约下来。如果进程数为500,每个进程占用2字节,那么占用的总内存空间则为2*500=1000字节,但如果以4字节作为单位,则占用空间为4(只能以4字节为单位)*500=2000字节,这样就会造成大量数据的冗余,不利于内存的有效使用。 参考技术A 所谓32位微处理器,指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为32位,32位指令集就是运行32位数据的指令,也就是说处理器一次可以运行32bit数据。
由于32位数据能够包含的地址有2^32=4294967296=4194304K=4096M=4G,所以说最大寻址空间为4GB,但由于指令代码中不可能只包含内存的地址信息,所以一般来说32bit的处理器能够寻得的地址只有不足4GB。追问
为什么是2的32次方而不是3. 6 .
追答不知道你这个3.6是怎么来的。
32位指的是32位二进制数字, 所能够定位的位置也就是2^32个,就如同2位的十进制数字能够定位的位置为10^2=100个。
想问的是能定位2^32种数,但每种数有32位即4个字节,所以支持的空间为2^32*4个字节为16GB??4GB
追答不是,每个数只能定位一个字节,这样才能确保每个字节都节约下来。如果进程数为500,每个进程占用2字节,那么占用的总内存空间则为2*500=1000字节,但如果以4字节作为单位,则占用空间为4(只能以4字节为单位)*500=2000字节,这样就会造成大量数据的冗余,不利于内存的有效使用。
本回答被提问者采纳以上是关于arm 为啥是 32位微处理器 所以ARM体系结构所支持的最大寻址空间为4GB的主要内容,如果未能解决你的问题,请参考以下文章
为啥要使用thumb模式,与ARM相比较,Thumb代码的两大优势是啥?
stm32的arm内核和cortex架构到底是啥意思?有啥区别?求指教!