Why 24 bits registers?

回眸只為那壹抹淺笑 提交于 2019-12-07 05:25:03

问题


In my work I deal with different micro-controllers, micro-processors and DSP processors. Many of them have 24-bits registers and counters.

I know how to use them, this is not my question.

My question is why do they have 24-bits register! why not make it 32 bit? and as I know, it is not a problem of size, because the registers are already 32bits, but have maximum of 0xFFFFFF.

Do this provide easier HW implementation? Faster calculations? Or it is just "hmmm, lets put 24-bits registers to make the job of programmers more hard"?


回答1:


My guess is that most DSP applications simply don't need 32-bits. Digital audio uses 24-bits fidelity the most. Implementing 32-bits would require more transistors thus would result in higher costs.

Why would 32 bits be easier for the programmer?

Also, you state that the registers have a maximum of 0xFFFFFF, which makes them 24-bits by definition, not 32-bits as you suggest.




回答2:


There is no particular reason for 8/16/32/64 bits. There are 24 bit DSPs, 18 bit PICs, 36 bit PDP... Each bit costs time, money and power so having enough bits is good enough. No need to over do it. Just look at the original PCs with 20 adress lines, even though the memory pointers could be up to 32 bits.




回答3:


Tagging onto Tomas' answer, some DSPs have a register mode where overflowing locks the value at the highest state. If the data is 24-bit and it rolls over to the 25th bit, it should lock there, not at the 32-bit rollover.




回答4:


For audio you would typically want 16 bit output. Since you lose some precision during processing they pick a reasonable size that is somewhat bigger than 16 bit, which happens to be 24 bit.

The reason not to go to full 32 bits is that that would need substantially more hardware, especially for multiplication.



来源:https://stackoverflow.com/questions/2318278/why-24-bits-registers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!