intel发布会之前,漫谈CPU核心架构:CCX、Ring Bus、Mesh

https://baijiahao.baidu.com/s?id=1607585351741429318&wfr=spider&for=pc

intel和amd的架构特点

喻拓

发布时间:18-08-0116:41优质原创作者

从Ryzen 开始,CPU的核心数仿佛失去了控制。不到一年,主流的四核心处理器直接被“安排的明明白白”。不久之后,AMD就将发布首款民用级32核处理器,使用改进后的CCX,降低了L3缓存的延迟。而intel即将发布自己的首款消费级8核心处理器,使用Ring Bus架构。

把CPU圈在一起的Ring Bus

Ring Bus这个词很形象,就像一个环形一样,连通各自的CPU和缓存部分,下图就是intel在Xeon E5 V4中的双Ring架构。

Ring架构的提出和硬件设备核心数的增长无不相关,由于核心数的提高,传统的星形结构已经不能满足性能和延迟的要求。

Ring Bus设计了两圈高速总线,将CPU、L3 Cache、外围和其他Ring联系起来。Ring有两种运行方法,一种为顺时针,一种为逆时针。

Ring的设计有很多优点,首先它的延迟极低,带宽极大,运行速度很快,这也是为什么intel的Cache和内存性能比AMD高的原因之一。同时它的设计非常方便,只需要核心排成2个序列,然后其他外围对称挂在两边就可以了。如果需要添加核心,直接挂在Ring上,或者直接再加一个Ring就可以了。

虽然Ring是一个好设计,但伴随Xeon系列核心数的增加,Ring的长度和数量的增加,跨核心访问的延迟将越来越高,每增加一个核心都会拖累Ring的整体延迟,在单边超过6核心时,性能会严重下降,缓存之间也更难以保持其一致性。

虽然intel在低核心产品中保留了Ring,但已经在其skylake-SP产品中更新了全新的架构。

二维棋盘,Mesh

在新的架构下,intel将核心排布为棋盘状,比Ring架构自由的多,并支持连接更多的核心。不过因为架构的原因,其缓存速度较Ring慢,intel自己的说法,会增加10%延迟,但是实现了更低的功耗。intel也在搭载Mesh的skylake - SP中加入了更大的L2缓存。

在Ring架构中,访问其他核心的缓存,最多需要十二个周期,平均时间在六个周期,并且能轻易达到非常高的频率和速度,提高整体表现。而在Mesh中,如果需要访问周围的一个核心的缓存,周期要额外多一个,如果需要跨过DDR4部分则需要三个周期,远远慢于Ring。最上和最下的核心访问需要四个周期,而水平的访问最大则为九个周期,对角的访问是最坏的情况,将消耗十三个周期。

虽然损失了部分核心的延迟,但显然平均延迟基本是一个水平,还能连接更多的核心。相比以前的跨Ring访问和多路跨Die访问依然来的更快些。但对于游戏来说,目前Ring架构,虽然L2变大,命中率提高,但其周期仍然太长,更适合服务器和HEDT平台使用。

高级胶水,CCX和infinity fabric

和intel不同,AMD对于自己的模块化设计,有一番独到的见解。在Ryzen中,AMD将每个模块称之为CCX(core complex),CPU之间互联的部分为infinity fabric总线。

CCX在zen1和zen+中被设计为方形结构,核心位于CCX的四角,L2和L3则被排布到四个核心的正中间,L3大小为8MB,四个核心内部共享,速度同步于最高的核心。同时四个core之间都可以随意和其他core共享通讯,周期极低。

而Ryzen的8核心产品中,不仅仅只有一个CCX,而是两个,核心之间以infinity fabric之间互联。

不过AMD对此的描述含糊其辞,不过其原理基本和intel类似,它是一个高速的总线和缓存接口,不过它可以连接非常多的设备,和Ring一样但是更多,甚至可以用在电源管理控制器和主板接口之间。

infinity fabric的互联是有损失的,在每颗32核心epyc处理器中,使用了4个CCX设计,之间的连接就损失了一些PCIE通道。不过由于其优点,AMD即使因为瑕疵屏蔽对称核心之后,依然能共享对方的8MB大缓存,达成总共16MB的L3。在APU中,AMD使用其连接了vega核显。可以预见的是,在定制市场,infinity fabric将带来更多的精彩,而不是简单作为片上集成。

随着8月的到来,各家的发布会的消息已基本落实。Threadripper二代的32核心,但是由于主板的问题,并不支持epyc上更多的pcie通道和八通道内存。intel将发布自己的9900K消费级八核处理器,据消息来看,是将两颗四核Ring架构处理器连接起来。而nVidia则悄悄发布新的显卡,吹起了新一代游戏体验的号角。

下一个硬件竞赛,即将开始。

[转帖]intel发布会之前,漫谈CPU核心架构:CCX、Ring Bus、Mesh的更多相关文章

  1. [转帖]Intel 上一代 可扩展CPU的简单报价

    8.1万元人间毒物!Intel 28核铂金版Xeon 8180零售上市 http://news.mydrivers.com/1/541/541670.htm 猜你想看:英特尔 CPU处理器 Xeon ...

  2. 【转帖】处理器史话 | 服务器CPU市场的战役, AMD、Intel和ARM的厮杀

    处理器史话 | 服务器CPU市场的战役, AMD.Intel和ARM的厮杀 https://www.eefocus.com/mcu-dsp/377300   说完了个性鲜明的消费类电子,接下来聊一聊通 ...

  3. [转帖]年经贴: ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器?

    ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器? https://www.cnbeta.com/articles/tech/899421.htm . 之前苹果的哥们说过 谁特别在意自己的软 ...

  4. SetThreadAffinityMask windows下绑定线程(进程)到指定的CPU核心

    原帖地址:https://www.cnblogs.com/lvdongjie/p/4476766.html 一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU ...

  5. 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

    不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).a ...

  6. windows下绑定线程(进程)到指定的CPU核心

    一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU切换时损耗的性能.2)Intel的自动降频技术和windows的机制冲突:windows有一个功能是平衡负载 ...

  7. [转帖]Intel为何吊打AMD,先进半导体工艺带来什么?

    Intel为何吊打AMD,先进半导体工艺带来什么? 2016-3-10 15:38  |  作者:Strike   |  关键字:超能课堂,半导体工艺,CPU制程 分享到       按照摩尔定律的发 ...

  8. 关于CPU核心,线程,进程,并发,并行,及java线程之间的关系

    前言:作为一个转行java的小白,一直搞不清楚java中的多线程.于是来梳理一下关于CPU核心,线程,进程,并发,并行,及java线程之间的关系, 1.CPU角度来看: 我们以Intel的Core i ...

  9. 物理CPU数、CPU核心数、进程数

    参考CSDN博客:https://blog.csdn.net/helloworld0906/article/details/90547159 一. 物理cpu数.cpu核数.线程数(逻辑cpu数)的关 ...

随机推荐

  1. BZOJ 1922: [Sdoi2010]大陆争霸 Dijkstra

    Code: #include <queue> #include <vector> #include <cstdio> #include <cstring> ...

  2. [CTS2019]田野(80分)

    loj嘟嘟嘟 学完模拟退火后开始搞这道题,搞了一下午最终搞到了80分,剩下的实在不知道怎么办了-- 首先肯定是把有交点的线段划分到一个集合,然后对每一个集合求一遍凸包. 然后两两合并,如果新的凸包的周 ...

  3. Linux下 Nginx 启动 重启 关闭

    命令 nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件 nginx -t -c /path/to/nginx.conf 测试nginx配置文 ...

  4. Java面向对象5(V~Z)

    计算各种图形的周长(接口与多态)(SDUT 3338) import java.util.Scanner; public class Main { public static void main(St ...

  5. 国产手机的谷X服务

    我换了个新手机,但面临了一个棘手的问题,就是原来的手机的谷X服务是用免root安装器自动安装好的,安装器找不到了.而后我发现现在的手机并没有阉割掉谷X服务,原因不详,好处不用在去一个个安装了.我装好y ...

  6. antd-mobile的DatePicker分钟精度半小时

    项目要求,在时间选择上需要精确到分钟,且分钟只能半小时,既0分钟或者是30分钟. 前期引用的时间控件是antd-mobile的DatePicker组件,具体用法可参考:https://mobile.a ...

  7. 安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境

    方法一: 退出base环境回到系统自带的环境 conda deactivate 方法二 1,通过将auto_activate_base参数设置为false实现: conda config --set ...

  8. 预处理、const、static与sizeof-用#define实现宏并求最大值和最小值

    1:实现代码: #define MAX(x,y) (((x)>(y)) ? (x):(y)) #define MIN(x,y) (((x)>(y)) ? (x):(y)) 需要注意的几点: ...

  9. linux内核中的MFD子系统

    分析用的内核版本为5.1.3 1.MFD全称 Multi-function Device,多功能设备 2. 为何会出现MFD子系统 由于出现了一类具有多种功能的外围设备或cpu内部集成的硬件模块 3. ...

  10. 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置And ...