PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

苹果M1中隐藏神秘协处理器

[复制链接]
跳转到指定楼层
1#
点击数:3870|回复数:0
近日开发人员道格·约翰逊通过反向工程发现苹果M1处理器中存在名为AMX的协处理器,它不同于M1片上系统(SoC)中的神经网络引擎,甚至没有出现在苹果的各种宣传资料当中。


这个神秘的AMX协处理器可以高效率地执行矩阵运算(包括加、减、缩放和乘积操作),加速诸如图像处理、机器学习、语音和手写识别、人脸识别、数据压缩、音频和视频处理等任务。这或许就是M1能够在一些性能测试中击败酷睿i9等x86处理器的原因。



AMX协处理器同大家熟知的神经网络引擎有一定的区别,GPU和神经网络引擎属于加速器范畴。CPU、协处理器和加速器可以通过共享数据总线交换数据,CPU通常控制内存访问,而加速器通常具有自己的专用内存。加速器的这种架构可以在大规模计算中得到回报,但由于协调等方面的原因,对于较小的任务开销太高。


协处理器则不同,它可以监视从内存读取到CPU的指令流,并对特定指令做出反应,与此同时CPU会忽略这些指令,或者帮助协处理器处理这些指令,延迟更低。

协处理器执行的指令可以放在常规代码中,而不是单独的内存缓冲区中。对于涉及矩阵处理器的较小工作负载,AMX协处理器的效率将优于神经网络引擎。

当然要实现以上目标,苹果需要在微处理器的指令集架构中定义新的特定指令,使协处理器和CPU紧密集成。苹果并未公开AMX协处理器,而是为矩阵相关的数据计算提供了一些特殊的库或框架,比如图形格式转换和处理的vImage、线性代数行业标准BLAS、用于运行神经网络和训练的BNNS、用于信号处理的vDSP、用于求解线性方程组等运算的LAPACK。苹果向开发者提供这些库或框架,而无需关心它的底层实现方法。根据nod.ai的测试结果证明,苹果AMX协处理器执行矩阵乘法运算的效率比ARM v8.6的标准NEON指令高出约2倍,说明苹果的自定义AMX协处理器在机器学习和高性能计算工作中极具优势。

无独有偶,索尼PlayStation 5的片上处理器(SoC)也使用了大量定制设计,在CPU部分仍采用x86架构ZEN2核心的同时,RDNA2.0架构的GPU进行了深度定制以提供更强性能。在我们B站视频账号上也对此有过介绍:https://www.bilibili.com/video/BV1bg4y1873K


PS5的图形处理核心删除了RDNA2.0 GPU中对VRS、Mesh Shader以及DXR等DirectX 12 Ultimate特性的支持,取而代之的是Geometry Engine和Intersection Engine,但对前面那些特效有同样的支持,只是实现细节与名称有所不同。

Geometry Engine为开发者提供了更好的多边形控制能力和地形隐面消除能力,Intersection Engine主要负责光线追踪的硬件加速处理,实现空间反射、环境光遮蔽、阴影画、全局光照等功能。更具体的细节需要索尼方面逐步解密才可了解。

SoC虽然行业中早已在定制芯片中采用,但由于商业保密的原因,这方面公开资料很少。作为电脑玩家,如果仅以DIY圈子内所了解的公开信息去看待这些定制芯片,往往会发现很多现象无法解释,进而得到错误结论,这是需要注意的。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部