![]() ![]() Thankfully, in most signal processing applications, the input source data values, such as those for audio signals, are only 16–24 bits in size. To avoid the aforementioned issue, an application developer could, therefore, simply restrict the input data value ranges to reduce the chance of the accumulator overflowing. ![]() The Cortex-M33 processor does not, however, have a dedicated accumulator register. For example, in some traditional DSPs (e.g., the SHARC processor from Analog Devices), a dedicated accumulator register with a width of 80 bits is available so that this problem does not occur. To solve this problem, many traditional DSPs use a dedicated accumulator register which is wider than the width of the multiplication results. If the input values for the MAC operation are often close to the limits of the input value range, and there are a high number of elements in the array, the accumulation operations could easily overflow because the multiplication results are 64 bits. In the dot product example in Section 19.3, the input data is 32-bit wide and the accumulator is 64-bit wide. Joseph Yiu, in Definitive Guide to Arm® Cortex®-M23 and Cortex-M33 Processors, 2021 19.5 Dealing with overflows Digital signal processing on the cortex-M33 processor
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
June 2023
Categories |