​CPU单挑到群架发展史

CPU 又称中央处理器,搞软件开发的兄弟已经耳熟能详了,CPU 的发展史最基本的矛盾就是软件性能需求的快速提升与 CPU 技术工艺性能提升发展相对缓慢之间的矛盾。摩尔定律也是基于此背景,将硬件性能的有限提升给软件开发者一个预期,告诉软件开发者,我现在的百米速度是15s,大概一年半以后百米速度是 7.5s,如果你现在开发的软件准备 1 年半后上市,那你就控制下软件开销,不要搞个百米 5s 的要求,那大家都嗝屁了。


提升CPU性能的方法有很多种,比如打架,我不过你,我可以回家锻炼肌肉,从力量上碾压你,我也可以叫几个兄弟,从数量上碾压你,今天给大家介绍CPU多核、多路、集群的发展史,就是从数量的角度提升性能。


最早期的 CPU,受限于技术和工艺,只能做到单核,就比如原始社会,茹毛饮血,一个家庭可能就1个孩子能长大成人,打架也只能指望他了,后来随着医疗条件的提升,一个家庭可以多个孩子长大,打架亲兄弟,对应CPU也发展为多核。再后来又有了计划生育,孩子不是想生几个就生几个,CPU 的核数也没办法无限制增加,那怎么办?对手都挑上门了,总不能不应战吧,兄弟数量不够,那就着邻居一起上阵,这就是多路CPU,最后群架规模越来越大,叫几个邻居也压不住场子,只能发动关系网,同学呀、朋友呀、看大门的二大爷呀,二大爷他七舅姥爷也都上场,这就成 CPU 集群了。


扯了这么多,来几张图描述下从单挑到群架是怎么干起来的。


首先是单挑,CPU 就1个核 core0,cache、内存、IO 全是他的,想怎么玩就怎么玩。


640?wx_fmt=png

(单核示意图)


然后是拉着兄弟一起干架,有多个核,从core0~coreN,但是内存和 IO 是多核共享的。


640?wx_fmt=png


(多核示意图)


再然后是拉着邻居干架,每家邻居家(CPU)都有多个兄弟(core0~coreN),邻居家都有自己的 DDR 和 IO,但是邻居之间有过道互联,邻居(CPU)可以相互访问对方的 DDR 和 IO,只是需要经过过道,所以访问邻居的DDR和io延时较大,所以 CPU 都优先访问自身的 DDR 和 IO。


640?wx_fmt=png

(4路CPU示意图)


前面介绍的 CPU 单核、多核、多路 CPU,CPU 的物理芯片都是在同一块 PCB 上,通过总线互联的,最后介绍的 CPU 集群,有多块单板 PCB,每个 PCB 上都是多路 CPU,多块板间通过高速网口互联(也可能是其他高速互联接口,只是高速网口比较常见), CPU 集群有专用的系统负责CPU集群算力的管理和分配。


640?wx_fmt=png

(CPU集群)


单核 CPU 已经作古多年,目前常见的 PC 都是多核 CPU,多路 CPU 一般用于服务器单板,CPU 集群的物理形态就是多个服务器集群,一般用在云计算和超算中心。


小编尽量以通俗的言语介绍下 CPU 单挑到群架的历史,比喻不妥之处,还请读者海涵。


==================

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK、JRE、JVM三者间的关系

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含J…

典型方法_裴礼文老师编数学分析中的典型问题与方法练习参考答案的说明

裴礼文老师编《数学分析中的典型问题与方法》练习参考答案该书共计7章36节1036页,各章由知识点总结、例题和练习组成,知识点基本按照传统《数学分析》教材先后顺序跟进。例题和练习出自《数学分析》经典习题和近年《数学分析》考研试题,极具代…

第4章 原子操作 第二节

-------------------------------------------------------------上一章节说的原子操作,有同学在下面留言说,原子操作不是万能的吧?确实是,原子操作不是万能的,体系结构在完成原子操作部分也是花费了很大的心思&#x…

表格字体缩小 php_如何快速找出两个Excel表格不同的地方?

上一篇文章介绍了如何快速找出两个word文档不同的地方,这篇文章来说说如何快速找出两个Excel表格不同的地方,这里说的两个Excel表格,可以是同一个工作簿的不同sheet,也可以是两个不同的Excel文件,如下图:黄…

周一地铁遐想

连续两周的早上8点出门到晚上12点到家,今天中午睡不着,下午调试代码的时候感觉脑子眼睛有点迷糊,旁晚吃饭的时候,有几个同学还在微信私聊我问题,因为都是加了我的知识星球的同学,咨询的是个人的规划还有以后…

再说鸿蒙

上一篇文章已经被骂狗血了,我一直想找个时间好好澄清一些东西,正好今天晚上睡不着,现在是凌晨4点,我觉得应该再发下东西,当然了,还是以我特有的尿性,没有摆事实讲道理,就是我以为。1…

shell--基本语法

继续运算符模块。 part1 算术运算符 - * / % part2 关系操作 与(&#xff08;&#xff09;)连用 < > < > ! && || 注意&#xff1a;一个等号是赋值操作&#xff0c;两个等号是判断 test命令相关&#xff0c;[]可以达到一样的效果 part3 赋值运算符 * /…

锻炼身体

这周还没有发技术文章&#xff0c;着实是因为忙晕了头&#xff0c;不过不管有多忙&#xff0c;该吃饭的时候还是吃饭&#xff0c;该打球的时候还是打球&#xff0c;打球不是为了赚钱&#xff0c;但是是为了更好的赚钱&#xff0c;很多时候忽略了一些小事情&#xff0c;往往这些…

你今天忘本了吗?

我从小在农村长大&#xff0c;我们村前面有一条很长的河&#xff0c;我家在河的后面的那个小山坡上&#xff0c;背靠着大山&#xff0c;很多大师来我们家&#xff0c;都说我家这里是风水宝地&#xff0c;幸运的是&#xff0c;我就在这块风水宝地里长大了。后来&#xff0c;我很…

评分组件开发

我们知道&#xff0c;许多外卖app都有评分的星星&#xff0c;这里我总结一下对评分组件的开发&#xff0c;学习视频&#xff1a;饿了么实战&#xff08;慕课网&#xff09; 1.html部分 <div class"star" :class"starType"><span v-for"itemC…

第4章 第三节 内核同步

抢占式内核和非抢占式内核Linux 内核有两个空间&#xff0c;一个是内核空间一个是用户空间&#xff0c;如果一个进程正在内核态执行的时候&#xff0c;允许内核打断他的执行&#xff0c;让另一个进程执行&#xff0c;那么这个内核就是可抢占式内核。还有一种情况就是&#xff0…

第四章 第四节 per_cpu

我们上一章说了实现内核同步的方法很多&#xff0c;如下表技术说明适用范围每CPU变量在CPU之间复制数据结构所有CPU原子操作对一个计数器原子地“读-修改-写”的指令所有CPU内存屏障避免指令重新排序本地CPU或所有CPU自旋锁加锁时忙等所有CPU信号量加锁时阻塞等待所有CPU顺序锁…

python的三维图片_python如何做三维图

Python三维绘图在遇到三维数据时&#xff0c;三维图像能给我们对数据带来更加深入地理解。python的matplotlib库就包含了丰富的三维绘图工具。1、创建三维坐标轴对象Axes3D创建Axes3D主要有两种方式&#xff0c;一种是利用关键字projection3dl来实现&#xff0c;另一种则是通过…

为何要使用docker

可能很多人听说过docker&#xff0c;也可能有很多人用过&#xff0c;但是其中的一些细节&#xff0c;可能不是很清楚&#xff0c;还有一些人&#xff0c;像我一样&#xff0c;并不知道docker&#xff0c;也没有用过&#xff0c;刚好最近一个大神朋友比较有空&#xff0c;让他写…

如何解决文件不存在_传奇微端配置Pak密码文件不存在怎么解决?传奇分享汇

在架设gom引擎的版本时&#xff0c;你是否有遇到和我一样的情况呢&#xff1f;微端配置后pak密码文件不存在是怎么回事呢&#xff1f;今天分享pak密码文件不存在的解决方法为什么会出现pak密码文件不存在呢&#xff1f;总结分析有以下2种原因会导致文件不存在1、没有配置对应的…

linux 统计命令执行后的行数或者统计目录下文件数目

ls |wc 是统计你这个目录下的文件数目。ls |wc -l是输出第一个结果即31即文件的数目。 转载于:https://www.cnblogs.com/apple2016/p/6956814.html

那些年,我们在?的那些日子

刚好在今天&#xff0c;我们几个比较好的朋友&#xff0c;都离开了一起奋斗的A公司。 先说明下&#xff0c;这个不是虚构的小说&#xff0c;也不是吹牛逼&#xff0c;就是记录我们几个曾经辉煌和落魄的日子&#xff0c;起名A公司也是为了保护大家的隐私&#xff0c;但是事情肯定…

db2 sql执行历史_5 个免费的在线 SQL 数据库环境,比Navicat 香!

来源&#xff1a;blog.csdn.net/horses/article/details/108603935作者&#xff1a;不剪发的Tony老师文章目录SQL FiddleDB Fiddledb<>fiddleSQL OnlineOracle Live SQL总结今天给大家分享几个在线的免费 SQL 运行环境&#xff0c;也就是在线数据库。这些网站可以帮助我们…

嵌入式入门必读

找到一个非常好的书籍而且不用购买的而且是高清版本的原来是放在我的知识星球里面的看到大家下载的也很多现在拿出来分享给大家从单片机到嵌入式这个不是一个简单的过程&#xff0c;其中从单进程到多进程&#xff0c;一个CPU如何做到多进程&#xff0c;怎么跑系统&#xff0c;调…

mysql远程访问 linux_Linux中开启mysql远程访问功能

1、确认3306是否对外开放&#xff0c;mysql默认状态下是不开放对外访问功能的。查看的办法如下&#xff1a;# netstat -an | grep 3306tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN从结果可以看出&#xff0c;mysql的3306端口只监听本地的连接&#xff0c;这样就阻碍了外部IP对该数…