博客
关于我
CPU指令集——AVX2
阅读量:283 次
发布时间:2019-03-01

本文共 1312 字,大约阅读时间需要 4 分钟。

查看CPU支持的指令集与技术指南

1. 查看CPU支持的指令集

了解当前CPU支持的指令集对于优化计算性能至关重要。以下是查看CPU指令集的方法和相关信息:

方法总结

  • Windows 系统:可借助工具查看CPU指令集信息。
  • Linux 系统:通过命令 cat /proc/cpuinfo | grep flags 查看CPU指令集。

具体信息

Intel i7-7700 CPU 支持 AVX2 指令集,但不支持 AVX-512。AVX512-IFMA 为 Intel AVX512 指令集的一个扩展集,主要用于加速整数运算。基于 AVX512-IFMA 的实现可将速度提升至 AVX2 的 1.5 倍。

目前支持 AVX512-IFMA 的 CPU 主要包括 Cannon Lake(如 Intel® Core™ i3-8121U Processor)和 Ice Lake 系列处理器。

2. SIMD(单指令流多数据流)

SIMD 是并行计算中的重要技术。Flynn 分类法基于指令流和数据流的并发数量将计算机架构分为四类:

  • SISD(单指令单数据流):典型的串行机。
  • SIMD(单指令多数据流):单指令可同时操作多个数据流,支持 pipeline 和并行执行。
  • MISD(多指令单数据流):多条指令对应一个数据流,主要用于容错。
  • MIMD(多指令多数据流):多核超标量处理器和分布式系统。
  • 3. AVX(高级向量扩展)

    AVX 是 CPU 指令集的扩展,主要衍化包括:

    核心特性

    • AVX:支持 256 位宽 SIMD寄存器(YMM0-YMM7 在 32 位模式,YMM0-YMM15 在 64 位模式),低 128 位与 SSE 的 XMM 寄存器复用。
    • AVX2:引入 256 位宽整数运算指令,支持 Fused Multiply-Add(FMA)操作。
    • AVX-512:通过 EVEX 编码扩展至 512 位运算,提升性能。

    性能优势

    AVX 指令集遵循 IEEE-754 规范,支持 32 位单精度浮点数和 64 位双精度浮点数。YMM 寄存器可存储 8 个单精度浮点数或 4 个双精度浮点数,内存对齐建议为 16 字节或 32 字节。

    MXCSR 寄存器用于状态报告,除非使用 LDMXCSR 或 FXRSTOR 清理,否则会保持不变。

    4. AVX2 指令集详解

    根据《Intel® Advanced Vector Extensions Programming Reference.pdf》,AVX2 指令集包含以下新增指令:

    核心指令

  • PMULUDQ:乘法指令,可同时处理多个 unsigned doubleword 整数。
  • vpunpckldq:解密数据,支持低数据和高数据存取。
  • vpunpckhdq:类似于 vunpckldq,但处理高数据。
  • VPSHUFD:重组打包整数。
  • VPBLENDD:混合操作,用于数据混合。
  • VPERMD:全双精度元素置换。
  • VPSRLVD:变量位逻辑右移。
  • 这些指令延伸了 AVX 的功能,提升了计算效率。

    参考资料

  • CPU-Z 工具
  • Medium 文章
  • AVX-512
  • 转载地址:http://hqmx.baihongyu.com/

    你可能感兴趣的文章
    OpenCV学堂 | OpenCV案例 | 基于轮廓分析对象提取
    查看>>
    OpenCV官方文档 理解k - means聚类
    查看>>
    OpenCV探索
    查看>>
    openCV目标识别 目标跟踪 YOLO5深度学习 Python 计算机视觉 计算机毕业设计 源码下载
    查看>>
    opencv笔记(1):图像缩放
    查看>>
    opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
    查看>>
    OpenCV计算点到直线的距离 数学法
    查看>>
    Opencv识别图中人脸
    查看>>
    OpenCV读写avi、mpeg文件
    查看>>
    opencv面向对象设计初探
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:不规则形状区域中每种颜色的像素数?
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    OpenDaylight融合OpenStack架构分析
    查看>>
    openEuler Summit 2022 成功举行,开启全场景创新新时代
    查看>>
    OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_踩坑_安装以后系统无法联网_启动ens33网卡---国产瀚高数据库工作笔记002
    查看>>
    OpenFeign源码学习
    查看>>
    OpenFeign组件声明式服务调用
    查看>>
    Openfire身份认证绕过漏洞复现+利用(CVE-2023-32315)
    查看>>
    OpenGL中shader读取实现
    查看>>