32位单片机的32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。
如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。
如果总线宽度与CPU一次处理的数据宽度不同,总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数,但称为准多少位。比如某CPU是16位但总线是8位,所以它是准16位。
单片机位数与单片机的性能密切相关,通常32位机的性能要高于16位机,而16位机的性能又要高于8位机。为什么会这样呢?
第一,位数不同,运算效率不同。对于8位机而言,当某个运算的结果或者中间值大于255时,如100+200=300这样的运算,它不能一次完成。因此,要对这样的一个式子进行运算,就要编写一段程序,将运算分步完成,最后合成起来得到一个正确的结果。而如果采用16位单片机来运算的话,那么一次运算就够了,显然分步完成所需要的时间要远远大于单步完成所需要的时间。
第二,商业因素。通常运算能力越高,表示这个单片机性能越强,当然,价格高一些人们也可以接受,有了价格空间,生产商通常都会在这些芯片中提供更多的其他的功能,使得芯片的整体性能得到更大的提升。
也有数据总线的位数是CPU位数的一半的情况,就称其是准多少位的计算机。比如CPU是16位,数据总线也是16位,则是16位计算机;CPU是16位,数据总线也是8位,则是准16位计算机。
8位单片机: 80C51系列,PIC系列,AVR系列
16位单片机:80C196、MSP430系列
32位单片机:ARM系列