cpu在计算机中的性能指标 cpu在计算机中的作用是什么( 二 )


缓存:指可以进行高速数据交换的存储器,它先于内存与CPU交换数据 。用于减少处理器访问内存所需平均时间 。
缓存分为一级(L1)、二级(L2)、三级(L3)缓存,在读取速度上L1L2L3,容量大小上L1L2L3 。缓存越大CPU运行越快,但成本越高 。
微架构的先进性:保持CPU性能领先的关键
微架构(Micro Architecture):CPU的硬件电路设计构造方式 。
微架构又称为微体系结构或者微处理器体系结构,是给定的指令集在处理其中的执行方法 。某一给定指令集可以在不同微架构中执行,但在实施中可能因设计目的和技术效果有所不同 。
微架构包括取址单元、译指单元、执行单元、计算单元、访存单元等部分 。
CPU使用取址单元从内存中取出代码段,依次在各微架构中进行处理,最终将内存读写指令发给存访单元,完成内存读写 。
不同微架构决定了CPU各方面性能的不同,Intel、AMD两大巨头纷纷将微架构视作提高产品性能的关键 。
以Intel skylake典型架构为例
核心架构分为前端(黄色部分)、执行引擎(绿色部分)、载入/存储单元(紫色部分)三部分 。其中执行引擎与载入/存储单元又并称为后端 。
在微架构中要依次完成1)取指、2)解码(译码)、3)执行、4)写回,完成一次指令的执行 。
取指:从内存中获取指令,明确CPU要执行的程序 。
解码:将程序指令解码为计算机内部的微操作,需要将一个指令分解为多个操作 。
执行:执行解码后的指令,如加、减、乘、除、与、或、非;还会进行分支预测 。
写回:CPU将执行结果储存在执行储存器或内存中 。
前端:取指、译码
Decode(译码):把IQ中的指令译码成μop,skylake为四路译码,包括3个简单译码器和1个复杂译码器 。
Branch Predictor(分支预测):预测指令分支的方向 。
Skylake译码流水线每周期译码出5条微指令,上代只有4条;增强了分支预测能力;增大前端容量,提高取指、译码效率 。
执行引擎:这一部分有大量的执行单元、调度器、寄存器等部件 。包括浮点执行与整数执行两部分,分别执行不同的运算 。
Scheduler:乱序执行时,进行μop的调度分配 。
ALU:算数逻辑单元,不同ALU执行不同运算,包括整数计算、浮点计算、矢量计算等 。
Skylake与上一代相比,增加了更多的执行单元、缩短延迟、提高指令执行速度 。
载入/存储单元:将结果存储在寄存器或者内存 。
L1、L2 cache:位于CPU与内存之间的临时存储器,容量小于内存,但速度更快,从缓存中调用数据可以极大提高CPU运行速度 。
Skylake在这部分比上一代实现带宽提高,改进预取器,提高了存储速度,加深存储、写回缓冲 。
架构的先进性:以Zen3先进架构为例
微架构的设计影响CPU可以达到的最高主频、最高IPC次数、CPU的能耗水平等 。
Zen3、Zen2微架构对比
2021年Hot Chips会上,AMD提到Zen3微架构层面的改进提升了单线程性能,扩大了缓存,IPC提升19%,同时降低了能耗 。
Zen 3架构相比于Zen 2的升级:1)更高的时钟周期指令数:Zen 3架构可以从每MHz频率中平均实现19%的额外性能 。2)更低的延迟:Zen 3通过在芯片上实现各资源相邻以充分减少通信时间 。3)架构设计的升级:更全面的执行资源、更高的加载/存储带宽等 。
以Zen3先进架构为例
前端分为预解码、解码、指令融合、分支预测、指令融合等部分,主要功能为从内存中获取指令和将指令解码为计算机的操作 。
Zen3升级了更快的分支预测,“Zen 3”架构可以从每MHz频率中平均提高19%的性能 。在分支预测出现错误之后,AMD更优化的前端能够加快回到正确路径的速度,从而提高了分支预测的精度和CPU整体的性能 。
执行引擎:执行解码后的指令,分为整数执行、浮点执行、矩阵执行等部分,执行不同类型的运算 。
整数重排缓冲区与浮点重排缓冲区分开,分别进行分配和执行 。
Zen 3架构提高了浮点和整数执行单元的宽度和灵活性,来提高执行能力 。
加载/存储单元:将结果存储在寄存器或者内存 。
缓存cache:暂存μop,以便后续使用,加快指令执行效率 。
更高的载入带宽(2个增加到3个)、更高的存储带宽(1个增加到2个)、更灵活的载入/存储指令、更好的内存依赖检测 。
IntelAMD微架构对比
在公开的测评数据中,采用Zen 3架构的AMD锐龙芯片性能居于榜首 。Rocket Lake与AMD的Zen 3性能相近,但Rocket Lake仍采用14纳米制程,功耗和散热较高 。