Intel TSX
Delphi で同期拡張機能を使用したいと考えています。しかし、AFAIK Delphi は過去の拡張アセンブリをサポートしていないSSE 4.2
ので、別の方法で実行できますか? また、そのような機能を検出するにはどうすればよいでしょうか。
この機能は、2012 年以降、Haswell プロセッサでサポートされています。
Intel TSX
Delphi で同期拡張機能を使用したいと考えています。しかし、AFAIK Delphi は過去の拡張アセンブリをサポートしていないSSE 4.2
ので、別の方法で実行できますか? また、そのような機能を検出するにはどうすればよいでしょうか。
この機能は、2012 年以降、Haswell プロセッサでサポートされています。
TSX の HLE 部分の場合、おそらく REPE/REPNE プレフィックスを使用します。Delphi が「間違った」コンテキストでの使用を許可しない場合は、DB F3 / DB F2 を使用する必要があります。RTM の部分については、おそらく DB だけです。
TSX と RTM はどちらも CPUID で検出できます。HLE は検出を必要としません。HLE の前に、このコンテキストでは REPE/REPNE プレフィックスがノーオペレーションであるため、自動的にフォールバックします。
とにかく、TSXは最近では役に立たないかもしれないので、4年遅れの回答を無視しても、それが今役立つかどうかはわかりません-私の質問を参照してくださいハードウェアロックエリシオンはスペクター緩和のために永遠に消えましたか?