数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 113|回复: 2

[科技] 服役近30年,Intel这款上古指令集终于要被Linux扫地出门了

[复制链接]
发表于 3 小时前 | 显示全部楼层 |阅读模式
本帖最后由 麻薯滑芝士 于 2026-11-9 19:24 编辑

数码之家各位折腾Linux服务器、捣鼓NAS阵列、或者家里还留着Pentium时代老古董电脑的朋友,你们有没有想过一个问题:一套从1997年流传下来的处理器指令集,居然在2026年的Linux内核里还能找到它的影子?这件事听起来确实有点不可思议,但它确实是事实。不过这个局面很快就要画上句号了。根据国外知名硬件资讯网站Tom‘s Hardware在今天,也就是2026年11月9日发布的一篇报道,Linux内核的开发者们正准备彻底清除最后一批针对Intel MMX指令集做过优化的代码。这套名为MMX的指令集,全称是MultiMedia eXtension,中文一般翻译成“多媒体扩展指令集”,最早是由Intel公司在1997年随Pentium MMX系列处理器一起推向市场的。在那个CD-ROM光驱还是标配、电脑能播个VCD就算高端配置的年代,MMX曾经是Intel用来区分产品档次的重要卖点之一。将近三十年过去了,这套指令集的使命终于要走到终点了。而这次清理行动的规模有多大呢?根据专门追踪Linux内核动态的网站Phoronix披露的信息,一个旨在移除这些遗留代码的补丁预计会被合入主线Linux 7.5内核版本,而这个版本预计要到2027年才会正式发布。换句话说,如果你现在用的是最新的稳定版内核,那你暂时还看不到这个变化,但如果你关注Linux的开发动向,你就会知道这件事已经在路上了。



具体来说,这次被清理的对象是Linux内核中软件RAID模块里的XOR校验计算代码。软件RAID是很多Linux用户在组建磁盘阵列时会用到的一种方案,它不需要专门的RAID控制器硬件,完全靠CPU的计算能力来完成数据的校验和恢复工作。而XOR运算是软件RAID中最核心的操作之一,它直接关系到数据读写时的性能和可靠性。在过去很长一段时间里,Linux内核的开发者为了让软件RAID跑得更快,专门针对MMX指令集写过一套经过高度优化的XOR计算代码。但现在,这套代码马上就要被彻底移除了。从代码量的角度来说,这是一次相当彻底的清理。

Linux内核将会删掉超过800行专门为MMX指令集编写的优化代码,取而代之的仅仅只有12行通用的、不依赖任何特定指令集的实现代码。八百多行缩减到十二行,这个数字本身就足以说明很多东西。一方面,它说明了MMX优化代码在整个内核中所占的比例已经微乎其微,另一方面,它也反映出Linux内核开发团队对于清理老旧代码的决心是非常坚决的。当然,如果你是一位执着的上世纪九十年代末期Pentium处理器的忠实拥趸,手头还在用着Pentium MMX或者Pentium II这样的老芯片跑Linux,那你仍然可以使用软件RAID功能,只不过你将失去那条基于MMX指令集的快速通道,性能上可能会有一定程度的下降。但对于绝大多数现代用户来说,这个变化几乎不会产生任何实际影响。毕竟在2026年的今天,还在一台搭载Pentium MMX或者Pentium II处理器的电脑上跑最新版Linux内核的人,恐怕已经是凤毛麟角了。

事实上,这也不是Linux内核第一次对MMX相关的代码动手了。大约五年之前,也就是2021年前后,Linux内核就已经移除了一批同样基于MMX指令集的内存管理优化代码。那一次清理之后,内核里剩下的MMX优化代码就已经不多了,主要集中在软件RAID的XOR计算这一个模块里。所以这一次的移除,更像是给这段跨越了近三十年的历史画上最后一个句号。这种代码清理在开源世界里有一个专门的说法,叫“代码整理”,就像你每隔一段时间会收拾一下家里的杂物间一样,把那些早就用不上、还占地方的东西扔掉,让整个空间变得更清爽、更容易维护。Linux内核作为一个发展了三十多年的庞然大物,里面的老旧代码积累得非常之多,每次大版本的更新都会伴随着大量的清理工作。这次对MMX优化代码的移除,就是这种持续维护工作的一个典型例子。

说到MMX这个指令集本身,它的来龙去脉其实还挺有意思的。Intel最早是在1997年1月推出了第一批配备MMX指令集的Pentium处理器。在当时,Intel的市场营销部门把MMX包装成了“MultiMedia eXtension”——多媒体扩展指令集,主打的就是提升电脑在处理音频、视频、图像等多媒体任务时的性能表现。在那个年代,这个卖点确实很能打动消费者,因为那时候的电脑处理器性能普遍不强,能在软件层面做一些针对多媒体的加速优化,对用户体验的提升是非常明显的。

不过有意思的是,关于MMX这三个字母到底代表什么意思,Intel官方后来的态度变得非常暧昧。维基百科上记载的一个说法是,Intel后来声称“MMX officially is a meaningless initialism”——也就是说,MMX在官方层面上已经变成了一个没有任何实际含义的缩写词,只是一个由Intel注册的商标而已。但这个说法并不是没有争议的。在一场Intel和它的老对手AMD之间的商标纠纷官司中,一份在法庭上出示的文件显示,MMX当时代表的其实是“Matrix Math Extensions”——矩阵数学扩展指令集。AMD之所以要找出这个全称,是因为根据美国的商标法,一个纯粹的缩写词是不能被注册为商标的。如果MMX真的是“Matrix Math Extensions”的缩写,那Intel就不能独占这个商标的使用权,AMD就可以合法地在自己的处理器上也标注MMX指令集的支持。从最终的结果来看,AMD和其他竞争对手确实成功地在各自的x86处理器中集成了MMX指令集,避免了在多媒体应用爆发的那个年代被Intel甩在后面。除了AMD之外,Centaur、Cyrix、Rise、Transmeta这些如今很多年轻玩家可能听都没听说过的处理器厂商,当年也都纷纷在自己的产品中加入了MMX指令集的支持。可以说,MMX虽然不是历史上第一个处理器扩展指令集,但它绝对是推动整个x86生态走向统一的一个重要里程碑。

在MMX取得了巨大的市场成功之后,AMD率先推出了自己的SIMD指令集——3DNow!,主打的是三维图形和游戏性能的加速。而Intel也没有闲着,在大约一年之后推出了SSE指令集,紧接着又推出了SSE2。这些后续的指令集在功能和性能上都远远超越了当年的MMX,逐渐成为了处理器指令集架构的主流。到了今天,MMX基本上已经成了一个历史名词,只有在翻阅旧文档或者像今天这样讨论内核代码清理的时候,才会被人重新提起。不过话说回来,MMX在当年确实是一项具有开创意义的技术。它引入了一种叫做“单指令多数据流”(SIMD)的处理方式,可以让处理器在一个时钟周期内同时对多个数据进行同样的操作。这种设计思想后来被广泛应用在SSE、AVX等一系列指令集中,成为现代高性能计算不可或缺的基础。可以说,没有MMX当年的探索,就没有后来那些更强大指令集的诞生。

对于还在坚持使用Linux的老玩家来说,这个消息或许会让他们心中涌起一丝怀旧的感慨。毕竟MMX代表的是一个特定的时代——那个CD-ROM光盘哗啦啦转个不停、电脑开机时响起一阵拨号音、上网还要靠Modem拨号的年代。但从技术发展的角度来看,Linux内核这次对MMX优化代码的清理,是一件再正常不过的事情。

软件开发就是这样,旧的技术被淘汰,新的技术取而代之,留下的代码如果不及时清理,就会变成沉重的负担,拖累整个系统的维护效率和运行性能。去掉这八百多行几乎无人使用的老旧代码,换来的是内核代码库的瘦身和可维护性的提升,这笔账怎么算都是划算的。如果你现在正在运行Linux系统,并且恰好使用了软件RAID功能,那你完全不用担心这次变动会对你造成什么影响。等到2027年Linux 7.5内核正式发布的时候,你的软件RAID依然可以正常工作,只是底层用来做XOR计算的代码路径会变得更加简洁高效而已。这就是开源软件的魅力所在——一群分布在世界各地的开发者,不断地审视和改进着每一行代码,让这个庞大的操作系统始终保持活力,不被历史的尘埃所掩埋。好了,今天关于Linux内核即将告别MMX指令集的话题就先聊到这里,如果你对Linux内核的发展历史或者其他老旧技术的退役故事感兴趣,欢迎在评论区留言告诉我,咱们下次接着唠。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

本帖被以下淘专辑推荐:

发表于 3 小时前 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 1 小时前 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-11-9 22:50 , Processed in 0.202801 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表