什么是双字对齐数据???。我正在使用带有 c6accel DSP 引擎的 Ti 处理器工作。fft 函数要求样本的输入数据数组是双字对齐的。双字对齐的确切含义是什么,我如何生成它?
最佳答案
一个字是 CPU 中每个寄存器能够容纳的数据量。这取决于所使用的处理器 - 在 32 位系统上这将是 32 位,而在 64 位系统上这将是 64 位等等......您的 TI 处理器可能是 16 位或 32 位取决于模型(基于 this 猜测)。
单词的大小通常对应于指针的大小,尽管从技术上讲这并不能保证是真的(不适用于 PS3/XB360),因此不应依赖作为规则( source )。确定世界大小的正确方法取决于您使用的操作系统。引用自上一个来源:
双字的大小只是一个字的大小 * 2。假设提取开始于字边界,程序通常一次提取 1 个字的内存 (RAM) 中的数据。如果不是这种情况,则需要在两个单独的指令中提取字边界任一侧的数据,这会导致效率低下,因为需要完成两倍的提取量并且读取/写入 RAM 的速度相对较慢(旁注:这在很大程度上被现代处理器中的缓存所缓解,尽管这完全是另一个话题)。
关于signal-processing - 双字对齐是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25080188/