英特尔首席架构师日前发了一篇很有意思的文章,表示PC处理器超过10核没什么用,反而会带来发热、功耗等问题。此外,他还强调英特尔将继续推进提升单核心的方式提升CPU内核数量,不会用那种将多个小核心粘贴起来的方式,言外之意就是对AMD的胶水多核方式不能苟同。
在AMD携Zen架构处理器重返高性能处理器市场之后,英特尔的日子不像前几年那么舒坦了,他们需要考虑AMD带来的竞争,特别是AMD上来就开大招,普及桌面8核,高端市场还带来了16核、32核处理器,英特尔也不得不应战,去年推出了6核12线程的八代酷睿,今年则会升级8核16线程的九代酷睿,高端市场去年还有18核酷睿i9处理器。尽管英特尔现在也推出超多核处理器,但是英特尔架构师日前发了一篇很有意思的文章,表示PC处理器超过10核没什么用,反而会带来发热、功耗等问题。此外,他还强调英特尔将继续推进提升单核心的方式提升CPU内核数量,不会用那种将多个小核心粘贴起来的方式,言外之意就是对AMD的胶水多核方式不能苟同。
AMD在Ryzen、EPYC处理器上使用了CCX多核架构,也被人认为是胶水架构
在多核处理器上,英特尔与AMD现在有明显不同的路线之争——英特尔还在使用传统的思路,那就是在单一核心上集成更多的CPU内核,Skylake-SP架构上最多做到了28核,而AMD在Zen架构上使用的是CCX架构,每个CCX包括4个CPU核心,每个核心都有独立的L1与L2缓存,共享8MB L3缓存,每个核心都可以选择性的附加SMT超线程,另外CCX内部的核心是可以单独关闭的。
AMD处理器架构中,两个CCX之间使用高速Infinity Fabric进行通信,通过设计多个CCX核心的方式可以实现8核、16核以及32核处理器,这种模块化架构的好处是比较灵活,因为制造CCX核心的良率也比较高,因此还能降低成本,不过缺点就是CCX之间的通信延迟显然是不如英特尔原生核心那么低,因此性能上会有妥协。
理解上面的差异之后,再来看英特尔的说法——英特尔公司客户端计算部门研究员、首席架构师Guy Therien日前发表了一篇名为《应对核心性能及核心数量挑战》的文章,谈到了现在的处理器核心数量及核心性能面临的挑战。
在CPU核心数量方面,他提到一个永恒的问题——更多的CPU核心数意味着更好吗?他说答案是否定的,因为大多数应用程序,包括游戏、生产力应用及办公应用都没有针对(超)多线程做优化,使用大量处理器内核并不能为消费者带来收益。
通过对客户端工作负载的分析,Guy Therien表示当前应用程序优化最多的也没有超过10个核心。他还指出如果不需要更多内核,拥有更多的CPU内核带来的作用其实是负面的,更多核心意味着更多热量,在设定的TDP功耗下,只能降低每个核心的性能上限以控制总的发热量,这又会减缓典型应用的性能。
当然,他也没有把话说死,Guy Therien指出客户端计算中有一个范围很小但很重要的应用,那就是可以利用更多的内核实现3D渲染、模拟或者360度视频编辑等,他表示英特尔在这方面还将继续成为性能领导者。
有意思的是,Guy Therien表示英特尔推进多核性能、提升核心数量的方式是继续提高单一核心(monolithic die)集成的CPU内核数,而非将多个小核心粘贴在一起。了解过前面的技术背景的人应该知道这是在说英特尔与AMD在多核设计上的不同,Guy Therien表示他们的设计可以减少多核处理器中的延迟,降低了工作负载中的性能波动,因为消费者不会接受任何妥协,他们只关心工作任务执行的一致性。
来源:网络
2019独角兽企业重金招聘Python工程师标准>>> 最近每小时都会收到几条redis报警,虽然不是什么大问题但还是要排查一下原因。通过捕获redis的两条抛错信息redis read error on connection和Redis server went away,我们打开phpredis扩展的源码找到 static ...
1、查看已连接的安卓设备文件,通过View --》Tool Windows --》Device File Explorer 2、这是一个已经连接上本地PC的一个安卓设备文件目录: 3、刷新文件:右击选中的文件,选择Synchronize 备注:图中的Copy Path就是将当前选中的文件目录复制出来,这样就方便使用adb pull指令来完成将该文件复制到本地PC上查看了。操作截图: ---- Th...
原论文:Neural Machine Translation by Jointly Learning to Align and Translate 参考博客:https://blog.csdn.net/shijing_0214/article/details/75194103 注意一点:这篇论文把输入端隐含层状态称为注释h,输出端隐含层状态称为隐含层状态s 叫法不同,其实都是隐含层状态  ...
什么是错误处理 错误处理是指在程序发生错误时的处理方式,Solidity处理错误和我们常见的语言不一样,Solidity是通过回退状态的方式来处理错误。发生异常时会撤消当前调用(及其所有子调用)所改变的状态,同时给调用者返回一个错误标识。注意捕捉异常是不可能的,因此没有try … catch…。 为什么Solidity处理错误要这样设计呢? 我们可以把区块链理解为是全球...
原文:Authentication vs Authorization 有许多实用并且具有哲学性的方法来讨论这两个术语的区别。但是这里确实有一些困惑,我想要从如今普遍用于构建应用的基于 token 的协议的“通常猜测”的角度去看待它。特别是我想要解析清楚 OAuth2 和 OpenID Connect 各自的适用场景。 首先看一下“正式”定义: 认证 ...
2015年7月29日Windows10发布后,深受广大用户的喜爱。其中突出的一项功能莫过于Edge浏览器替代了原来的默认浏览器Internet Explorer。微软为Win10量身定做的全新Edge浏览器肩负着接替IE浏览器的使命,一直备受关爱。不过这款浏览器在Windows10正式版发布一周多以来的表现并不是很突出,甚...
人力资源管理系统(Android实现) 基于网上的北大青鸟人力资源管理系统需求文档写出的一份课程设计,基于Android studio和sql server数据库。对于正在学习sql server数据库的同学能做一个参考,结合Android来更深入的了解他们之间的联系。 源码下载: https://download.csdn.net/download/qq_42718615/10950341 一、...
今天就来开始带大家学习vue.js 一,开发者工具的安装 我们在正式开发前一定要有一款适合自己的工具。首先把市面上常见的一些开发工具列出来给到大家。 1-1,常用前端开发工具 工具 推荐指数 优缺点 记事本 1颗星 电脑自带安装方便,功能太简单 Notepad++ 2颗星 开发单个小页面合适,功能简单 WebStorm 4颗星 功能强大,适合web前端开发,缺点就是要付费,当然可以自己去百度**方...
1 写在开头的话 首先确保自己已经有工作区间,且已经将该工作区间的setup.bash加入当前用户的环境变量中,若是则直接看第二章节,否则继续往下看。 若没有工作区间则查看顺序为:1.1——>1.2——>2——>1.3...
http://m.blog.csdn.net/suixin788/article/details/52555558 Linux的发行版之间的联系和区别 http://m.blog.csdn.net/wanghui499917270/article/details/7265961 几种linux发行版的使用经验之谈 http://m...
My database is over 600 GB and my current volume is only 1 TB, so that probably limits my options. My config files are here: My database is here: Edit - This guide worked for me. The only addition I n...
I am using following dependency for JSON serialization/deserialization I have inheritance mapping. Following is Parent class. And we have two sub class One and Two extended by Parent. This mapping is ...
I´m writting a script to send emails form a raspberry pi 4 and I want to attach a file to an email via python, but i always get this error. I´m pretty new to python. I know that the file i...
I have to create a multithread TCP/IP server which contains a variable to count the number of clients connected (and those which disconnect) and print the number of clients connected when a client con...
I have an array of objects I would like to initiate an ajax request for each, and the result of that request should be stored in the corresponding object for that request say I have what is the proper...