MIPS 上最快的 8x16 位矩阵转置?
我有一个 8x16 位矩阵作为 UINT8 矩阵[16]。
我想转置矩阵并将其存储为 UINT16 矩阵2[8]。
这是我的代码中时间关键的部分,因此我需要尽快完成此操作。有没有一种巧妙的方法可以在 MIPS 处理器上实现这一点?
I have an 8x16 matrix of bits as a UINT8 matrix[16].
I want to transpose the matrix and store it as a UINT16 matrix2[8].
This is in a time critical piece of my code, and so I need to do this as fast as possible. Is there a clever way to achieve this on a MIPS processor?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不认为 MIPS 指令集中有任何特殊指令可以帮助解决这个问题,因此您也可以用 C 语言对其进行编码。如果您有权访问处理器 RTL,则可以创建用户定义的指令。 ..
I don't think that there are any special instructions in the MIPS instruction set that would help with this, so you might just as well code it in C. You could create a user defined instruction if you have access to the processor RTL....
也许是这样的:
它读取输入矩阵,然后执行循环 8 次(每个转置矩阵行一次)。
Maybe something like this:
It reads the input matrix and then perform a loop 8 times (once for each transposed matrix row).