目前,提高CPU执行速度的方法有以下几种
1.提升主频
上世纪80年代,提高主频是一种提升CPU性能的有效方法。目前来说,该方法提升空间有限。
2.乱序执行
从指令集执行角度来加速CPU执行的方法。最经典的两种乱序执行算法是Tomasulo算法和记分牌算法
3.多个CPU核心
多核是将多个物理CPU核心集成在一个SOC系统上,AMD和Intel很多CPU的设计就是采用这种思路。原来是只有一个CPU核,现在有多个,处理性能自然提升。现在的笔记本电脑也都是多核的,以我的笔记本为例,内核4个,逻辑处理器8个。超线程技术使得一个物理内核可以分为两个逻辑处理器,也就是可以同时执行两个线程。
多核自然会想到多线程。多线程有两种情况,一种是单核上的多线程,当一个线程因为IO访问停止等待时,CPU可以执行其它就绪线程,从而减少CPU闲置时间。另一种是多核上的多线程,这里的多核是多个物理存在的CPU核。每个核心上都执行一个线程,这是真正意义上的线程并行执行。
4.异构SOC系统
以苹果公司新推出的M1芯片为例,该芯片没有采用放置多个CPU核心的思路,而是实现了一个异构的SOC系统,将CPU、GPU、内存、输入输出等完整计算机系统所需的全部组件全部集成到一个芯片上,处理单元是用专用芯片替代CPU核心。专用芯片相比于CPU来说,能够在低能耗的情况下保证更高的性能,苹果M1芯片包含但不限于下面这些专用芯片。
CPU(中央处理器):SoC 的「大脑」,运行操作系统和 app 的大部分代码。
GPU(图形处理器):处理图形相关的任务,如可视化 app 的用户界面和 2D/3D 游戏。
IPU(图像处理单元):用于加快图像处理应用所承担的常见任务。
DSP(数字信号处理器):具备比 CPU 更强的数学密集型功能,包括解压音乐文件。
NPU(神经网络处理器):用于高端智能手机,加速语音识别等机器学习任务。