0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何改进CPU性能发展瓶颈问题?

SSDFans 来源:未知 作者:胡薇 2018-07-30 14:55 次阅读

通常一个处理器包含多个核心(Core),集成 Cache 子系统,内存子系统通过内部或外部总线与其通信。在经典CPU中一般有两个常用的组件:北桥(North Bridge)和南桥(South Bridge)。它们是处理器和内存以及其他外设沟通的渠道。图1给出了处理器、内存、南北桥以及其他总线之间的关系。

图1

从图一可以看到:

1)处理器访问内存需要通过北桥。

2)处理器访问所有的外设都需要通过北桥。

3)挂在南桥的所有设备访问内存也需要通过北桥。

那么CPU访问南桥上的外部设备和北桥上的DDR内存的访问速率受CPU的主频、Local Bus带宽、南桥外设总线的速率、CPU取指令机制等多方面所影响。

处理器主频和集成度在过去二十年里一直按照摩尔定律在发展,从单核到多核以及超线程。处理器的性能提高不少,同时处理器的功耗也正比于主频的三次方在增加。因为使用的晶体管栅极材料存在漏电现象,高频率下电子迁移显著,势必为导致产热量增加,散热带了重大问题。CPU欢快的朝着频率越来越高的方向发展,受到物理极限的挑战,又转为核数越来越多的方向发展。由于所有CPU Core都是通过共享一个北桥来读取内存,随着核数如何的发展,北桥在响应时间上的性能瓶颈越来越明显当北桥出现拥塞时,所有的设备和处理器都要瘫痪。这种系统设计的另外一个瓶颈体现在对内存的访问上。不管是处理器或者显卡,还是南桥的硬盘、网卡或者光驱,都需要频繁访问内存,当这些设备都争相访问内存时,增大了对北桥带宽的竞争,而且北桥到内存之间也只有一条总线。

为了改善对内存的访问瓶颈,出现了另外一种系统设计,内存控制器并没有被集成在北桥中,而是被单独隔离出来以协调北桥与某个相应的内存之间的交互。系统结构如图2所示。

图 2 所示的这种架构增加了内存的访问带宽,缓解了不同设备对同一内存访问的拥塞问题,但是却没有改进单一北桥芯片的瓶颈的问题。

图2

为了解决北桥北桥在响应时间上的性能瓶颈,把内存控制器(原本北桥中读取内存的部分)也做个拆分,平分到了每个CPU上。于是NUMA(Non-Uniform Memory Access)就出现了。内存控制器集成到CPU内部,Intel第二代酷睿I系列以及将主板北桥合并到CPU内部,所以Intel第二代酷睿I系列没有北桥,只有南桥。AMD没有吞并北桥。顺便补充一下Intel 单个socket只支持单个node,AMD 单个socket配对多个node。(Node,socket,core,thread)是NUMA中的概念,linux下查看cpu参数通过如下命令:

a)lscpu

图3

图3可以看出CPU是小端模式,每个CPU有一个core,每一个core有一个thread。三级cache大小,Flags查看支持的大页内存,比如pse 代表支持2MB的内存页,pdpe1gb代表支持1G内存页。

b)cat /proc/cpuinfo

图4

从图4可以到Core ID、超线程数、Core的16进制编码(在DPDK应用中会用到这些参数)。

NUMA设计框架如图5所示。红色绿色箭头代表访问处理器本地内存(Local memory),红色箭头访问远程内存(remote memory),即其他处理器的本地内存,需要通过额外的总线!

NUMA中,虽然内存直接attach在CPU上,但是由于内存被平均分配在了各个die上。只有当CPU访问自身直接attach内存对应的物理地址时,才会有较短的响应时间(后称Local Access)。而如果需要访问其他CPU attach的内存的数据时,就需要通过inter-connect通道访问,响应时间就相比之前变慢了(后称Remote Access)。所以NUMA(Non-Uniform Memory Access)就此得名。

图5

从前面分析发现,确实提高了CPU访问内存和外设的速率,奈何CPU处理速率远远超过了内存的吞吐速率,这里就带来了CPU不必要的开销。一般来说,当CPU从DDR中取指令时,大概要花费几百个时钟周期,在这几百个时钟周期内,处理器除了等待什么也不能做。在这种环境下,才提出了Cache的概念,其目的就是为了匹配处理器和内存之间存在的巨大的速度鸿沟。

Cache 由三级组成,之所以对Cach 进行分级,也是从成本和生产工艺的角度考虑的。一级(L1)最快,但是容量最小,一级cache分为指令cache和数据cache,图3中可以查看;三级(LLC, Last Level Cache)最慢,但是容量最大。当CPU需要访问某个地址时候,首先在cache中目录表中查询是否有该内容,有就直接取指令或者数据,没有就从DDR中取取指令或者数据。在cache有对应的数据简称指令命中,反之指令没有命中。L3 cache命中,大约需要40个时钟周期,L3 cache没命中,一个内存读需要140个时钟周期。

Cache 的预取指令分为时间局部性和空间局部性。时间局部性是指程序即将用到的指令/数据可能就是目前正在使用的指令数据。因此,当前用到的指令/数据在使用完毕之后以暂时存放在Cache中,可以在将来的时候再被处理器用到。空间局部性是指程序即将用到的指/数据可能与目前正在使用的指令/数据在空间上相邻或者相近。因此,在处理器处理当前指令/数据时,可以从内存中把相邻区域的指令/数据读取到Cache中,当处理器需要处理相邻内存区域的指令/数据时,可以直接从Cache中读取,节省访问内存的时间。这里可以创建一个二维数组,然后顺序横向a[i][j]和竖向a[j][i]赋值计算时间做对比,由于a[j][i]地址是跳跃性的赋值,cache不能命中,所以消耗的时间远远大于连续地址的赋值。

提高CPU性能还可以采用多核并行计算,一个时钟周期读取N条指令。在软件上也可以做适当的系统优化和算法优化,比如配置CPU 亲和性,CPU 亲和性(Core affinity)就是一个特定的任务要在某个定的 CPU 上尽量长时间地运行而不被迁移到其他处理器上的倾向性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18202

    浏览量

    221927
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206463

原文标题:CPU性能发展遇到的瓶颈

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通信系统关键的AD器件发展情况及瓶颈

    A/D器件是整个通信系统中的关键所在,也是整个系统的瓶颈,国内外科研机构一直投入大量的物力、人力、财力致力于A/D器件的研究。通过分析总结A/D器件的国内外发展近况,总结得出了A/D器件的发展
    发表于 10-24 14:55 1918次阅读

    LED产业发展面临六大瓶颈

    目前我国LED产业的发展正面临六大瓶颈。一是政策与法律的瓶颈,各级***虽出台了许多发展LED的法规,但缺少整套规范的法规;二是人才与管理的瓶颈
    发表于 12-13 12:16

    克服嵌入式CPU性能瓶颈

    我们已经看到有两个主要的技术性限制在不断影响摩尔定律和和处理器性能的持续改进。但技术在不断发展。缩小特征尺寸有助于提高晶体管密度和频率,而设计师也仍在设法缩小晶体管尺寸,单颗芯片上的晶体管数量有望超过
    发表于 08-26 15:50

    智能家居发展瓶颈是什么?如何才能突破瓶颈

    智能家居发展瓶颈是什么?如何才能突破瓶颈?智能家居是一个让人又爱又恨的行业,智能家居在2013年就声名远播,并且被家居企业、互联网企业以及诸多相关企业看好。然而几年时间过去了,智能家居的发展
    发表于 01-31 17:10

    我国物联网的发展面临什么瓶颈

    物联网产业链宏大,涵盖了当代信息技术的所有方面,并随着行业应用的发展还会创造出更多的技术和产品。我国物联网发展正处于初级阶段,加快发展仍需突破几个瓶颈
    发表于 07-31 06:00

    物联网发展有什么瓶颈

    编者语:目前“物联网”正从一个概念逐步进入“落地”阶段,因此,必须突破我国物联网产业发展瓶颈,推动物联网产业健康发展。全国政协委员徐晓兰两会提案物联网,徐晓兰认为,目前制约我国物联网产业健康
    发表于 09-30 07:30

    物联网产业发展有什么瓶颈

    ,存在用户隐私泄漏风险以及系统安全风险,诸如此类安全问题已成为物联网技术发展过程中所面临的重大威胁之一,也是物联网的瓶颈。虽然近年来密码学及分布式数据管理技术的发展提高了物联网系统安全,但囿于物联网
    发表于 08-27 23:14

    UWB定位的机遇与挑战 室内定位发展有哪些瓶颈

    室内定位发展有哪些瓶颈?1、定位精度与成本难以两全近些年随着UWB技术的发展越来越快,以及UWB室内定位技术在生态链各环节的深入应用与合作,其成本也在逐渐降低。室内定位技术有很多,常见的包括RFID
    发表于 12-15 14:39

    怎么克服嵌入式CPU性能瓶颈

    芯片功耗解析芯片的传输延时克服嵌入式CPU性能瓶颈
    发表于 03-09 07:11

    动力电池技术发展瓶颈分析及建议

    通过对2019年新能源汽车动力电池配套行业数据进行调查,研究梳理电池技术在新能源汽车发展过程中出现的问题瓶颈,归纳分析产生车辆安全事故的根本原因,进而从电池系统研发设计、电芯生产制造、生产质量管
    发表于 05-07 10:11

    运用TMAM客观分析程序运行过程中内在CPU资源出现的瓶颈

    可能都会借助perf /bcc这些工具来寻找存在性能瓶颈的地方。性能出现瓶颈的原因很多比如 CPU、内存、磁盘、架构等。  本文就仅仅是针对
    发表于 11-10 16:52

    无线流媒体通信性能瓶颈的仿真研究

    本文仿真研究Ad-hoc无线网络环境下MPEG-4流媒体的通信性能,在分析和探讨无线实时流媒体网络性能瓶颈以及各类图像帧的影响权值的基础上,提出一种性能
    发表于 07-08 08:43 14次下载

    CPU缓存对性能的影响

      说到CPU,不得不说的就是CPU缓存,目前CPU的缓存已经成了衡量CPU性能的一个必要指标,那么CP
    发表于 11-13 17:58 2156次阅读

    芯片开发商ARM宣布对CPU与GPU的一系列改进性能大幅提升

    芯片开发商ARM宣布对CPU与GPU的一系列改进,当芯片在Windows笔记本上运行时,性能大幅提升。
    的头像 发表于 06-04 14:54 3655次阅读

    SAM技术解决CPU与GPU瓶颈问题 AMD希望与NVIDIA、Intel合作

    。 SAM技术解决了CPU与GPU之间的一个瓶颈问题。 在传统的基于Windows的计算机系统中,处理器一次只能访问256MB显存 (VRAM),因此限制了系统性能。 通过AMD Smart Access
    的头像 发表于 11-21 11:47 2609次阅读