在下面的段落中:“指令集要求本地内存的加载和存储是128位对齐的。寄存器是128位宽的,指令将这128位视为16个8位、8个16位、4个32位或2个64位值的向量,这取决于操作。因此,堆栈推送和弹出操作必须在寄存器的第一个向量槽和变量的原始对齐之间打乱变量”,有人能告诉我打乱变量是什么意思吗?
发布于 2010-12-14 02:32:35
您的问题似乎与Java无关,但是SSE2寄存器是如何工作的呢?
SSE2指令集使用128位寄存器,但是x86/x64中的大多数寄存器都是32位或64位寄存器。在任何情况下,Java都对您隐藏了这些细节,并且您不需要知道系统的本机寄存器大小。
你能给出一些你正在谈论的内容的上下文吗?Google找不到您提供的此报价。
如果你在谈论SSE2,那么混洗意味着CPU可以将多个较小的值打包成一个大的值,对于8位的值每次移位8,对于16位的值每次移位16等等。就像一个迷你的固定大小的向量。通过多次执行这些操作,可以对较长的向量进行操作。
https://stackoverflow.com/questions/4432096
复制相似问题