ZHCUAQ1F july 2015 – april 2023
并不总是能够完全控制数组和其他存储器对象的对齐方式。当将指针传递给函数时尤其如此,并且每次调用该函数时该指针可能具有不同的对齐方式。解决此问题的方法是编写一个不能有存储器命中的点积例程。这样就不需要数组使用不同的存储器组。
如果点积循环内核展开一次,则在循环内核中执行四条 LDW 指令。假设只知道数组 a 和 b 的组对齐是字对齐(其他一无所知),则可以对数组访问做出的唯一安全假设是 a[0-1] 不能与 a[2-3] 发生冲突,而 b[0-1] 不能与 b[2-3] 发生冲突。Example5-10 显示了展开的循环内核。