麦克雷 Mavom.cn
标题:
苹果M1使用了Arm自定义指令集?开发者逆向惊奇发现:?苹果M1未公开的秘密...
[打印本页]
作者:
v83674462
时间:
昨天 11:51
标题:
苹果M1使用了Arm自定义指令集?开发者逆向惊奇发现:?苹果M1未公开的秘密...
苹果M1使用了Arm自定义指令集?开发者逆向惊奇发现:?苹果M1未公开的秘密...
作者:
s65812530
时间:
昨天 11:52
苹果M1确实使用了未公开的矩阵协处理器(AMX),但未采用Arm官方定义的自定义指令集,而是通过协处理器架构实现紧密集成。
以下从技术背景、协处理器与加速器的区别、AMX的发现过程及性能优势等方面展开分析:
一、技术背景:矩阵运算与专用硬件需求矩阵是数字的二维表格,广泛应用于图像处理、机器学习、语音识别等领域。例如,机器学习中的神经网络训练依赖大量矩阵乘法运算,而传统CPU通过增加核心数量难以满足其高性能需求。为此,芯片厂商通常通过添加专用硬件(如协处理器或加速器)提升矩阵运算效率。
苹果M1的片上系统(SoC)已包含神经引擎(Neural Engine),用于加速机器学习任务中的矩阵运算。但开发者Dougall Johnson通过逆向工程发现,M1还隐藏了一个名为AMX的矩阵协处理器,其设计目标与神经引擎不同,且未在官方文档中公开。
(, 下载次数: 0)
上传
点击文件名下载附件
图:苹果M1芯片架构示意图(AMX协处理器未在官方标注中显示)
二、协处理器与加速器的核心区别
数据交互方式
加速器
(如GPU、神经引擎):拥有独立内存区域,需CPU预先填充数据并发送指令列表。CPU与加速器间的数据交换需通过共享总线完成,协调开销较高,适合大规模任务。
协处理器
(如AMX):直接监视CPU缓存中的指令流,对特定指令(如矩阵运算)作出反应。CPU可忽略这些指令或辅助协处理器执行,指令可嵌入常规代码中,适合小规模任务。
集成度与灵活性
协处理器需与CPU紧密集成,需在指令集架构(ISA)中定义新指令。ARM长期拒绝扩展自定义指令,直至2019年10月才允许客户添加非公开指令(如AMX)。
加速器(如神经引擎)作为独立模块,无需修改ISA,但与CPU的协同效率较低。
性能场景
AMX协处理器通过直接嵌入矩阵运算指令,减少了数据搬运和协调开销,在小规模矩阵任务中效率显著高于神经引擎。
神经引擎更适合处理大规模、并行化的机器学习任务(如图像分类)。
三、AMX的发现过程与逆向工程开发者Dougall Johnson通过以下步骤发现AMX:
分析苹果矩阵运算库
:苹果的Accelerate框架包含vImage(图像处理)、BLAS(线性代数)、BNNS(神经网络)等子库,均依赖矩阵运算。
逆向工程指令流
:Johnson编写程序跟踪这些库的机器代码,发现未记录的AMX专用指令(如矩阵乘法、转置等)。
验证性能优势
:通过对比AMX与ARM官方Neon指令(SIMD向量引擎)的矩阵运算性能,证实AMX效率提升近一倍。
四、苹果未公开AMX的原因
ARM生态限制
ARM长期拒绝自定义指令扩展,以避免生态系统碎片化。2019年允许客户添加非公开指令后,苹果选择将AMX指令隐藏在库中,而非公开ISA定义。
垂直整合优势
苹果通过控制硬件(M1芯片)和软件(Accelerate框架),可灵活调整AMX的实现方式(如未来用神经引擎替代AMX)。
开发者仅需调用框架接口,无需关注底层硬件变化,降低了兼容性风险。
性能竞争壁垒
AMX的隐藏特性使竞争对手难以直接复制其设计,为苹果在机器学习和高性能计算(HPC)领域建立技术优势。
五、AMX的性能优势与实际应用
性能对比
NodLabs测试
:AMX的矩阵乘法性能是ARM Neon指令的2倍,尤其在8x8或16x16小规模矩阵运算中优势显著。
能效比
:AMX通过减少数据搬运和指令解析开销,在相同功耗下提供更高吞吐量。
应用场景
机器学习
:加速神经网络推理中的矩阵运算(如自然语言处理、图像识别)。
多媒体处理
:提升视频编解码、音频信号处理的实时性。
科学计算
:优化线性代数运算(如求解线性方程组)。
六、技术延伸:AMX与SIMD向量引擎的区别
设计定位
SIMD(如Neon)
:作为CPU内核的一部分,通过单指令多数据(SIMD)并行处理向量运算(如加法、乘法)。
AMX
:作为协处理器外置,专门优化矩阵运算(如矩阵乘法、点积),指令集更复杂且针对性更强。
硬件实现
SIMD向量引擎与ALU、FPU共享指令解码器,由CPU统一调度。
AMX拥有独立指令流,直接响应缓存中的矩阵运算指令,减少CPU干预。
总结苹果M1通过隐藏的AMX矩阵协处理器,在未违反ARM生态规则的前提下,实现了对矩阵运算的高效加速。其协处理器架构与神经引擎形成互补,覆盖了从小规模到大规模的矩阵任务需求。苹果的垂直整合策略不仅提升了性能,还通过隐藏硬件细节维持了软件生态的稳定性。这一设计为ARM架构在机器学习领域的竞争提供了新思路,也凸显了定制化硬件在专用计算任务中的价值。
欢迎光临 麦克雷 Mavom.cn (http://www.mavom.cn/)
Powered by Discuz! X3.5