Windos与CPU架构的不解之缘
2021-10-23
从12代酷睿以及将与之竞争的下一代锐龙身上,我们会发现CPU作为PC的核心硬件,不仅仅是追求最高性能,在设计上也都是要与当前的软件,特别是操作系统相互配合的。回看PC的发展史,特别是现代PC软硬件的历史,我们还会看到很多这样的例子,当然也有反例,在即将到来的新CPU中仍然有着这些前辈的影子。本文我们就通过CPU架构和软件、操作系统的演进路线,来看一看它们相爱相杀的一路过往吧。
①
限于篇幅和我们读者的实际需求,本次我们只考虑Windows系统平台和历史上影响比及较大的零售处理器。其实个人电脑处理器乃至扩大到X86架构的CPU,还有更早期的286、386、486以及如苹果电脑家族、服务器处理器等许多其他产品,有兴趣且能接触到这些CPU发展资料的读者其实也可以用本文的观点去“套用”,会发现它们的发展也是基本符合这一规律的。比如从8位到16位处理器再到32位CPU的变化;苹果基于当时的应用需求而选择英特尔X86处理器,又因为当前的应用需求而开发使用ARM架构的M1处理器;当前很多服务器CPU(图2)的设计会为了方兴未艾的云计算、AI计算等需求而进行优化,启用新的架构设计,抛弃了基于IA-64指令集的安腾架构(图3)产品。
②
③
Windows 3.x奔腾和多任务时代的启动者
④
1992年个人电脑走入了一个新的时代,其代表就是更具实用性的Windows 3.1以及奔腾(Pentium)处理器的联袂登场。其实我们当前已经非常熟悉的多线程技术,在软件上的实现比超线程、多核处理器的出现早得多。1992年推出的Windows 3.1就是一种支持多线程并行的操作系统,最直观的表现当然就是可以使用多窗口,同时处理多任务(图4)。
⑤
与之对应的,1992英特尔的奔腾处理器(图5)中也提供了之前486不具备的“超标量技术”,也就是有两条数据流水线,可以同时执行两条指令。很显然,这是一块非常符合Windows需求的产品,而之前的DOS操作系统则在大部分应用中没有这一需求。
不过Windows在自身的各项功能使用中并不会明显地体现出奔腾处理器的优势,真正基于Windows核心的软件应用开发、普及又都尚需时日,因此出现了486处理器的兼容生产厂商提升频率或略微修改核心架构(图6),便可以轻松提供不弱于奔腾处理器的性能甚至日常办公、游戏体验的情况。
这一点在日后的操作系统/CPU架构切换过程中屡次出现,预计在Windows11+新架构CPU的早期也无可避免。例如将大核心用于专业软件、3D处理、办公计算;用功耗小而性能足够的小核心处理游戏音效、后台程序、待机状态,以及运行Android APP显然是非常理想的状态,实际上很可能在12代酷睿和Windows 11上市后的相當长时间内,主流软件应用都难以很好地切换和驾驭这些不同的核心,实现最好的执行效率和使用体验。
随着后来越来越多的软件开始利用超标量设计,这些兼容厂商就纷纷在486核心的基础架构上增加超标量计算能力,以满足已经逐渐成为潮流的Windows以及新一代软件应用的需求,例如AMD K5(图7)。
Windows 9x系列架构的扩张时代
在理应与奔腾处理器对应,但发布时间晚了2年半的AMD K5壳体上,我们会看到清晰的Windows 95标志,它代表着一个新时代的开始。相对于类似DOS外壳的Windows 3.x,从Windows 95(图8)开启的Windows系列虽然底层仍与DOS有关,但无疑逐渐地、更全面地掌控了整台电脑的软硬件。也正是因为它的需求,CPU架构才有了更大的变化,奠定了今日CPU架构的基础。