SIMD操作環境下非包裝和包裝指令之間有什麼區別?SIMD操作環境下的非包裝和包裝指令有什麼區別?
我讀優化你的代碼SSE的文章:
http://www.cortstratton.org/articles/OptimizingForSSE.php#batch
,當我讀到
「作爲額外的獎勵這個問題出現了,MOVSS是一個非打包的指令,這使我們能夠更好地使用並行指令解碼器。「
那麼有什麼區別?
SIMD操作環境下非包裝和包裝指令之間有什麼區別?SIMD操作環境下的非包裝和包裝指令有什麼區別?
我讀優化你的代碼SSE的文章:
http://www.cortstratton.org/articles/OptimizingForSSE.php#batch
,當我讀到
「作爲額外的獎勵這個問題出現了,MOVSS是一個非打包的指令,這使我們能夠更好地使用並行指令解碼器。「
那麼有什麼區別?
據我所知,填充概念性多於一個的值被傳輸或用作操作數手段,而非填充意味着只有一個值被進行處理; 非包裝表示不進行並行處理。
並行處理沒有發生還是隻是被忽略?我從來沒有想到這一點。當你使用'mulps'和'mulss'時,爲什麼不使用'mulps'而忽略其他元素呢? –
非包裝是不是真的SIMD。它使用SIMD寄存器,但它只使用寄存器的第一個元素。即使對於標量值,64位浮點指針操作也會使用SIMD寄存器。但是,標量整數值仍然使用標量寄存器。 SIMD整數指令不具有標量指令的所有功能(尚未)。 –