为什么24位寄存器?

时间:2010-02-23 13:06:13

标签: microcontroller microprocessors 24-bit

在我的工作中,我处理不同的微控制器,微处理器和DSP处理器。其中许多都有24位寄存器和计数器。

我知道如何使用它们,这不是我的问题。

我的问题是为什么他们有24位注册!为什么不把它变成32位? 据我所知,这不是大小问题,因为寄存器已经是32位,但最大为0xFFFFFF。

这样可以提供更简单的硬件实现吗?更快的计算? 或者它只是“嗯,让24位寄存器让程序员的工作变得更加困难”?

4 个答案:

答案 0 :(得分:7)

我的猜测是大多数DSP应用程序根本不需要32位。数字音频最多使用24位保真度。实现32位需要更多的晶体管,因此会带来更高的成本。

为什么程序员会更容易32位?

另外,您声明寄存器的最大值为0xFFFFFF,这使得它们按照定义为24位,而不是您建议的32位。

答案 1 :(得分:4)

8/16/32/64位没有特别的原因。有24位DSP,18位PIC,36位PDP ......每个位都需要时间,金钱和功耗,所以有足够的位就足够了。没必要过度了。只需查看具有20个地址线的原始PC,即使内存指针最多可达32位。

答案 2 :(得分:2)

标记到Tomas的回答,一些DSP具有寄存器模式,其中溢出将值锁定在最高状态。如果数据是24位并且它翻转到第25位,它应该锁定在那里,而不是32位翻转。

答案 3 :(得分:2)

对于音频,您通常需要16位输出。由于你在处理过程中失去了一些精度,所以选择一个比16位大一点的合理大小,恰好是24位。

不完整32位的原因是需要更多的硬件,特别是对于乘法。