8 位或32 位微控制器是什么意思?
要理解这个问题,首先需要了解微控制器的哪些组件是8位或32位的。
这是微控制器的内部框图。大家可以看到,单片机内部不仅集成了CPU,还集成了很多其他组件。
通常所说的该单片机的位数就是该单片机CPU的位数,与任何其他部件无关。
CPU也是由很多部件组成的,而真正决定微控制器或处理器的实际位数取决于ALU,即算术逻辑单元(Arithmetic Logic Unit),即逻辑单元。
CPU是单片机的核心,ALU是CPU的核心。
所有CPU 运算都依赖于ALU,ALU 专门用于执行算术和逻辑运算,例如加法、减法、乘法、除法、AND 或NOT。
我们这里讨论的是这个微控制器的位数。事实上,我们谈论的是8位微控制器中ALU的数量。
A和B是数据输入,Y是输出
8 位ALU 一次最多可以处理8 位数据。
例如,计算两个8 位二进制数的加法:
只要将两个8位二进制数输入到A和B中,输出就可以计算出这两个8位二进制数的和。
32位微控制器的ALU是32位的,可以一次计算两个32位二次值的相加。
8位机器可以执行16位或32位计算吗?
这也是可以的,但是比较麻烦。例如,在对8位单片机进行编程时,定义的数据类型int是16位,8位计算机必须将这个16位数字拆分成两个字节。请分别计算。
这同样适用于在8 位计算机上计算32 位数据。因此,8 位微控制器必须拆分32 位数据。 4个字节需要单独计算。
对于32位微控制器来说,它的ALU是32位的,只需要一次运算就可以计算出32位数据。
这是32位微控制器的优势。
当计算8 位数据时,8 位或32 位微控制器的速度大致相同。
ALU和其他部件依靠数据总线来传输数据,所以8位单片机中的8位一般是指数据总线8位宽。
但其本质仍然是ALU一次能够处理的最大数据位数。
例如,当数据总线发送数据时,它在RAM的特定字节中存储0101 0000。然而,RAM 内存中有很多字节。如何决定存储数据的字节?
这依赖于地址总线,该总线允许您指定要在RAM 内存中存储数据的字节。
RAM 存储器的开头有一个地址解码器组件。
这是一个具有2 个输入和4 个输出的2 位解码器。
如果输入00,第一行将输出1(高电平),此时只能将第一个RAM 字节写入数据总线。
给定输入10,第二行输出1(高电平)并指向第二个RAM 字节。
同样,每路输出1都可以独立控制。
总共有四个不同的输入,每个不同的输入对应一条高电平输出线。
本来8位微控制器有8位地址总线,相应的RAM内存地址译码器也是8位的。
在这种情况下,您最多可以寻址256 个字节。这意味着该微控制器的RAM值最多可以扩展到256字节。
后来,8位机器上的地址总线扩展到16位,对应64 KB的RAM空间。但数据总线是8位的,所以它是一个8位的微控制器。
随着技术的发展,64KB内存逐渐不能满足人们的需求。
这就利用了32位CPU的优势,它不仅具有32位数据总线,而且还将地址总线扩展到32位。
这样,可寻址的内存空间就达到了42亿字节,即4GB,但4GB的内存空间在嵌入式世界中很少使用。
在嵌入式领域,用不到那么多内存,但是在计算机方面,CPU对RAM的要求非常高,比如对于32位计算机处理器来说,4GB已经不能满足人们的需求了。不能。同样的故事稍后还会出现。 32 位处理器正在被淘汰,64 位处理器正变得越来越流行。
这是我对8位和32位单片机的理解。我希望这有帮助。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。