半导体工艺和架构是提升CPU性能的双驾马车,CPU的发展史,其实就是处理器架构和半导体工艺交互升级,协同演进的发展史。半导体工艺采用更先进的制程,晶体管尺寸变小了,芯片面积降低了,CPU的主频就可以做得更高,在相同的工艺制程下,通过不断优化CPU架构,从Cache,流水线,乱序执行,SIMD,多发射,指令预测等方面不断更新迭代,就可以设计出比别家公司性能更高,功耗更低的处理器。

2.6.1 单核处理器的瓶颈

在相同的半导体工艺制程下,芯片的面积越大,芯片的良品率就越低,芯片的成本就会越高,功耗也会越大。

而在相同的工艺下,提升芯片性能和减少功耗之间往往又是冲突的,以cache为例,增加l1,l2,l3 cache大小来提高命中率,但是芯片的面积和功耗也会随之增加,流水线同样如此,可以通过增加流水线级数,减少每一级流水时间的延迟,来提高处理器的主频,芯片设计也会更复杂。

单核时代的玩法差不多了,就需要多核了。

2.6.2 片上多核互连技术

多核处理器可以让多个任务真正同时执行,在单核处理器通过指令级并行性能提升空间有限的情况下,通过多核在任务级做到真正的并行,进一步提升CPU性能。

单核处理器芯片内部除了集成CPU的各个基本电路单元,还集成了各级Cache。当在一个芯片内部集成多个核时,各个Core之间怎么链接呢?Cache是每个Core独享,还是共享,不同架构的处理器,甚至相同架构不同版本的处理器,链接方式不同。

早期计算机比较简单,CPU和内存,IO模块直接相连,星型连接,浪费资源,扩展性差。

总线型连接也有缺陷,在某一个时刻只允许一对设备进行通信,当多个Core同时想占用总线与外部设备通信时,就会产生竞争,进而影响通信效率。

一个解决方法是使用线性阵列,分段使用总线,就像高速公路上的不同收费点一样,多个处理器可以分段使用总线资源进行通信,如IBM的Cell处理器,另一个解决方法是使用交叉开关,交叉开关像路由器一样有多个端口,多个Core可以通过交叉开关的端口的互连,并行通信。相互通信的各对节点都是独立的,互不干扰,交叉开关可以提高通信效率,但其自身也会占用芯片面积,功耗很大,尤其当链接设备很多,交叉开关端口很多的时候,芯片面积和功耗急剧上升,为了解决这个问题,可以使用层次化交叉开关。

交叉开关两两通信。4核以上使用RingBus结构,将总线和交叉开关结合起来,连成一个环状,相邻的两个Core通信效率最高,远离的两个Core之间可以通过开关路由通信,Intel的八核处理器一般都是采用这种结构的。

RingBus结构结合了总线型和开关型链接两者的优点,在成本功耗和通信效率之间达到一个平衡,但是也有局限性,链接很多core时,通信延迟又会带来效率下降。服务器一般16core以上,这种众核结构如果再使用以上连接方式则都会有局限性,影响多核整体性能的发挥,面向众核处理器领域,目前比较流行的一种片上互联技术叫做片上网络 net, on chip Noc。现在比较常用的二维Mesh网络如图2-48所示。

Core

Core

Cache

Cache

开关

开关

开关

开关

Cache

Cache

Core

Core

还有二维Mesh结构。

当处理器的Core很多的时候,不再使用总线型连接,使用网络节点的方式连接,每个节点包括计算单元,通信单元以及附属电路,极端和通信实现了分离,每一个节点中的处理单元可以是一个Core,也可以是一个小规模的Soc,Core与Core之间的通信基于通信协议进行,数据包在网络中按照设定的路由算法传输,通过网络通信的分布化来避免总线的竞争。

当2D Mesh网络连接的Core很多的时候,距离较远的两个Core,因为经过太多的路由,通信延迟也会对处理器整体性能产生一定影响。将网络路径中每一条线的首尾路由节点相连,变成了二维的RingBus结构,

Noc根据连接的节点类型,可以氛围同构和异构两种类型,同构类型网络上连接的节点处理器类型都是一样的,都是CPU的Core,而异构则指网络上可以连接不同类型的处理单元,如GPU, DSP, NPU, TPU等。

CPU性能提升:多核CPU相关推荐

  1. 【嵌入式】CPU性能提升:流水线机制

    CPU性能提升:流水线机制 CPU流水线是什么: 一条指令执行一般需要三个步骤:取指令.翻译.执行,CPU内部有对应的取指单元.译码单元.执行单元等: 一般来说,取指单元先取指令,然后给译码单元翻译, ...

  2. 【嵌入式】CPU性能提升:Cache机制

    CPU性能提升:Cache机制 Cache机制是什么: Cache是CPU的缓存机制,用于提高CPU的运行效率 为什么需要Cache机制: CPU在自己的工作上是很快的,可以到达GHz频率上; 但需要 ...

  3. 移动端cpu天梯图2023 移动端cpu性能排行榜 手机CPU天梯图2023年3月最新版

    王者:苹果A16芯片 它是2022年苹果推出的旗舰手机处理器,目前搭载的是iPhone14Pro和Pro Max机型上,性能相比上一代CPU提升42%,GPU提升35%,是现在性能最强的手机芯片,王者 ...

  4. 计算机CPU性能提升

    CPU提升的途径:增加晶体管密度.提升CPU主频(晶体管开关的速度) 增加晶体管密度就需要把晶体管造的更小,这就是所谓的"制程" CPU提升带来的是功率的增加: CPU功率 -=1 ...

  5. CPU性能提升:流水线

    一条指令的执行一般要经过取指令,翻译指令,执行指令3个基本流程.CPU内部的电路分为不同的单元,取指但愿,译码单元,执行单元等.指令的执行也是按照流水线工序一步步执行的.如图2-34所示,我们假设每一 ...

  6. 服务器cpu性能如何测试,CPU性能测试(1)_服务器评测与技术-中关村在线

    在测试之前,我们有必要交代下这次测试的操作系统环境.通过缓存为512MB的LSI MegaRAID 2208 SAS阵列卡,对四块300GB 15K转速的SAS硬盘组建RAID5,在此基础上我们选择了 ...

  7. linux内核如何支持多核cpu,现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)?...

    现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度(跨CPU核心调度)? 关注:106  答案:2  mip版 解决时间 2021-02-02 01:11 提问者你說.你愛我 ...

  8. 云服务器cpu性能,云服务器cpu性能

    云服务器cpu性能 内容精选 换一换 CPU积分是一种用来衡量云服务器计算.存储以及网络配置利用率的方式.云服务器利用CPU积分机制保证云服务器基准性能,解决超分云服务器长期占用CPU资源的问题.使用 ...

  9. php 多核cpu,如何利用多核CPU来加速你的Linux命令

    你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作--一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...

最新文章

  1. FPGA的设计艺术(5)STA实战之时钟偏斜对建立保持时间的影响以及时序报告分析
  2. java大量的print影响性能吗_printStackTrace()造成的性能瓶颈
  3. QT的QApplication类的使用
  4. FormatJS – 让你的 Web 应用程序国际化
  5. Github上都没有的“网约车”项目,终于有人给写出来了!
  6. 面相终端的计算机网络的阶段特征,计算机网络习题汇编
  7. 5 个基于Linux命令行的文件下载和网站浏览工具
  8. OneMap Client API
  9. APScheduler Scheduler
  10. 若依前后端分离项目部署最简单的方式(推荐)
  11. oracle年龄计算函数天 月 年,如何使用Oracle获得年龄,月份和天数的年龄
  12. 【ts】有关报错Line 0: Parsing error: Cannot read property ‘map‘ of undefined的解决方法
  13. 百度云服务器BCC中安装pycharm
  14. Dumpling 导出表内并发优化丨TiDB 工具分享
  15. turn out用法
  16. Unity AzureKinect Ar贴纸
  17. Fastboot的使用简单教程
  18. 计算机在生物学中的应用课程,计算机技术在生物教学中的作用与应用
  19. 数学家的情书-笛卡尔的心型线方程
  20. Kubernetes安装系列之coredns安装

热门文章

  1. 计算机桌面变小,电脑桌面变小了怎么办
  2. 商标和字号的五大区别
  3. Java Agent与Native Agent的利与弊
  4. Python---PDF、WORD和Base64互转
  5. nvidia显卡驱动程序旧版本下载
  6. iOS开发——实时监控网速
  7. Go cobra 库学习
  8. linux安装编译安装 ffmpeg,解决linux下ffmpeg压缩的mp4无法在网页播放问题
  9. 计算机事件查看器id7000,解决win10提示事件id7000服务器启动失败的方法
  10. 用树型模型管理App数字和红点提示(附源码Demo)