mpv player (Windows) Files x86_64和x86_64-v3之间的区别在于默认启用的指令集不同

发布时间 2023-06-28 08:01:36作者: suv789

mpv player (Windows) Files

x86_64和x86_64-v3之间的区别在于默认启用的指令集不同。

x86_64-v3构建版本默认启用以下指令集:

avx avx2 bmi bmi2 fma lzcnt movbe sse3 sse4 sse4.1 sse4.2 ssse3 xsave sahf mwait crc32 cx16 popcnt f16c

以下是对这些指令集的详细解释:

AVX(Advanced Vector Extensions):AVX是一组扩展指令,用于向量运算和浮点运算。它可以提高多媒体、科学计算等应用程序的性能。

AVX2:AVX2是AVX的进一步扩展,增加了更多的矢量指令和整数运算指令,使得处理器能够更好地并行处理多个数据。

BMI(Bit Manipulation Instructions):BMI指令集包含了一系列位操作指令,用于进行位级别的操作和计算,例如位移、与、或等。

BMI2:BMI2是BMI指令集的扩展版本,增加了更多位级操作指令,如乘法、除法、取余等。

FMA(Fused Multiply-Add):FMA指令集提供了一种同时执行乘法和加法的指令,可以加速浮点数的计算过程。

LZCNT(Leading Zero Count):LZCNT指令用于计算一个数的二进制表示中前导零的数量。

MOVBE(Move Big-Endian):MOVBE指令用于在大端字节序和小端字节序之间进行数据移动。

SSE3(Streaming SIMD Extensions 3):SSE3扩展了原有的SIMD指令集,提供了更多的单指令多数据并行处理能力。

SSE4(Streaming SIMD Extensions 4):SSE4是SSE指令集的第四个版本,增加了大量新的指令和功能,包括字符串操作、整数运算等。

SSSE3(Supplemental Streaming SIMD Extensions 3):SSSE3是对SSE3指令集的补充,提供了更多的单指令多数据并行处理能力。

XSAVE:XSAVE指令用于将寄存器状态保存到内存中,以便进行上下文切换和恢复。

SAHF(Store AH into Flags):SAHF指令用于将AH寄存器的值存储到标志寄存器中。

MWAIT:MWAIT指令用于在等待事件时进入低功耗状态,节约能源。

CRC32(Cyclic Redundancy Check):CRC32指令用于计算循环冗余校验码,通常用于数据完整性校验。

CX16:CX16指令集扩展了处理器的原子操作能力,使得多线程编程更加方便和高效。

POPCNT(Population Count):POPCNT指令用于计算一个数中二进制位为1的数量。

F16C:F16C指令集提供了浮点数和半精度浮点数之间的转换指令。

这些指令集的存在使得处理器能够支持更多的功能和优化,提高了计算机系统的性能和效率。

如果CPU不支持这些特性,则无法成功启动x86_64-v3构建版本。