8位、16位、32位单片机(MCU)

1、 8位、16位、32位的位是什么?
          CPU 处理的数据的宽度 , 参与运算的寄存器的数据长度。

2、 51和ARM 32位

         51 单片机里面, R0 R2 都是 8 位的,所以 51 CPU 一次只能处理 8 位数据。
         ARM 里面, R0 R2 32 位的,所以 ARM CPU 一次能处理 32 位数据。
3、进一步解释

         单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行28位的2进制数相加,而16位单片机则大一倍,可以同时让216位的2进制数相加。

        CPU 能同时处理二进制数的位数是多少位 , 就称其是多少位的计算机。也有数据总线的位数是 CPU 位数的一半的情况,就称其是准多少位的计算机。比如 CPU 16 位,数据总线也是 16 位,则是 16 位计算机; CPU 16 位,数据总线也是 8 位,则是准 16 位计算机。

4、8位机可以进行32位数据类型定义吗?

          8位单片机是CPU一次处理数据的宽度,8位芯片可以定义8位、16位、32位的变量, 但是不同的数据类型的运算速度和存储空间差别较大。
            (1)8位的char类型,C语言源码
                   8位、16位、32位单片机(MCU)_第1张图片
            汇编:

                

           (2)short类型
                  8位、16位、32位单片机(MCU)_第2张图片
                汇编:
                     8位、16位、32位单片机(MCU)_第3张图片
            (3)float类型
                     8位、16位、32位单片机(MCU)_第4张图片
                    汇编:
                    8位、16位、32位单片机(MCU)_第5张图片
               总结:
                    可以看出在C语言的层面并没有区别,但是实际工作量都在汇编层完成,并进行了封装。



你可能感兴趣的:(嵌入式)