8、16、32位单片机概念与寻址空间
扫描二维码
随时随地手机看文章
玩了接近三年的单片机,8位、16位、32位的都玩过,突然间一个问题就让我发现我就是一个渣!!!
8位、16位、32位都代表什么意思呢?我就根据搜集的知识,简单的对自己科普一下:
1)、 从CPU的发展史来看,从以前的8位到现在的64位,8位也就是CPU在一个时钟周期内可并行处理8位二进字符0或是1,那么16就以此类推是64位就64位二进制。
2)、8位、16位、32位单片机的区别还有就是寄存器位数的区别,8位的单片机其寄存器也是8位,以此类推32位的MCU也就是有32位的寄存器(当然他也可以有16或者是8位的寄存器)。
还有在学习ARM里遇到的一个问题:寻址空间的问题。
寻址空间一般指的是CPU对于内存寻址的能力。Intel公司早期的CPU产品的地址总线和地址寄存器的宽度为20位,即CPU的寻址能力为2^20=1024*1024字节=1024K字节
=1M字节;286的地址总线和地址寄存器的宽度为24位,CPU的寻址能力为2^24=1024*4*1024*4B=4*1024*4KB=16M;386及386以上的地址总线和地址寄存器的宽度为32位,
CPU的寻址能力为2^32=4096M字节=4G字节。 也就是说,如果机器的CPU过早,即使有很大的内存也不能得到利用,而对于现在的PⅡ级的CPU,其寻址能力已远远超过目前的
内存容量。
在这里有一个很重要的概念:CPU的寻址能力以字节为单位 。以32位的单片机为例(最近在上手K60),对地址0x4000 0001进行赋值也就是对一个字节进行操作,32位的寄
存器就需要占用4个地址(8*4=32),那它占有的地址就为0x4000 0000----0x4000 0003。32位就代表了2^32的寻址空间也就是4G。
一些简单的问题写出来,有什么不对之处,烦请各位过路的朋友指正!