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

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

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

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

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

(单核示意图)

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

(多核示意图)

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

(4路CPU示意图)

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

(CPU集群)

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

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

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

​CPU单挑到群架发展史相关推荐

  1. 360腾讯恩怨引爆规模群架 互联网站队法则全揭秘

    在360与腾讯的这场大战愈演愈烈之时,有不少人都幻想一位灰发长辈把周鸿祎与马化腾叫到一起,慢悠悠地点燃一根烟说,"竞争不是乱搞.你们一个管10亿注册号.一个管3亿,乱弹窗的事儿已经搞大了,再 ...

  2. 【Linux进程、线程、任务调度】四多核下负载均衡 中断负载均衡,RPS软中断负载均衡 cgroups与CPU资源分群分配 Linux为什么不是硬实时 preempt-rt对Linux实时性的改造

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章(点击链接:点击链接阅读上一篇文章)讲了: CPU/IO消 ...

  3. 进程线程(五) groups和CPU资源分群分配

    基于cpu cgroups进行CPU资源分配 Linux的sched_autogroup(全新内容) 基于cpuset cgroups进行进程CPU绑定(全新内容) Docker和cgroups Sy ...

  4. Rocketmq集群架构图

    集群架构图 集群特点

  5. 互联网公司分布式集群架构图

    一.小型公司网络架构 狗子是某大学计算机专业本科应届毕业生,由于自己的技术不错,再加上互联网产业的巨大利润的驱使,狗子决定走上创业这条路,于是,狗子联合了同学二黑,鸡子,狗蛋等人花费了几个月的时间写出 ...

  6. web服务器+数据库集群架构图

  7. N270 CPU安装X86群晖反复出现可转移解决方案

    反复出现可转移问题,始终不能启动成功,此处问题出在BIOS设置,需要修改BIOS设置中如下项目 BIOS内把SATA通道改为IDE,路径如下:ICH Control Sub-Menu→Integrat ...

  8. zuiqingchun4

    第一百六十八章 给我介绍对象? 不过仔细想想,最可笑的就是自己了,高帅现在有了新的对象了,是我们学校一个女的,陈少秋现在也正跟林一妹好着呢,人家可能根本就不会坐着想这些无聊的问题,只有我自己在这角落里 ...

  9. 帝国时代2哪个服务器稳定,宅在家里玩什么?不如重回《帝国时代》看看

    说来也怪,最近似乎刮起了一股经典游戏重制风,但比起风评颇差的<魔兽争霸 3>重制版,我倒是对另一款游戏十分着迷,这就是<帝国时代 2:决定版>. 一句"How do ...

最新文章

  1. HDU1272_并查集
  2. 设置Ext tab的宽度自动适应
  3. 遥控器按键不灵的修复方法
  4. Android ListView侧滑item,仿QQ删除效果
  5. python getattr和getattribute_python中__getattr__和__getattribute__区别
  6. 较为周全的Asp.net提交验证方案 (下)
  7. hadoop 回收站Trash
  8. SpringBoot 精通系列-创建SpringBoot的入门项目
  9. SpringBoot 2.1.5(37)---SpringBoot 2.1.5 项目启动运行方式
  10. 设置域用户登录主目录
  11. JavaWeb过滤器的应用
  12. 语音识别技术原理概述!
  13. AMD劲升6% 业界分析师看好其服务器芯片Ebyc
  14. selenium+numpy+opencv突破滑块验证码实现QQ空间登入
  15. 太阳系八大行星直径、质量、与太阳距离参数
  16. 请编程序将“China“译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母“A”后面第4个字母时“E“,用“E“代替“A“。因此,“China“应译为“Glmre”。请编一程序
  17. Unity框架——MVC框架
  18. Error type: LoadXML Description: Incorrect XML
  19. 常用的国外遥感卫星网站
  20. IDEA-Java注释模板设置

热门文章

  1. Android自定义view之圆形进度条
  2. 学教育成空中楼阁 巨额学费背后却是失业风险
  3. 易盛极星多合约回测(问题很多)
  4. Python html 代码转成 word(docx)
  5. SQLAlchemy中filter_by()和filter()的用法不同
  6. Mongodb基本使用方法
  7. 大数据开发初学者学习路线
  8. linux运维适合女生么,女生真的不适合做IT行业吗?Linux运维适合女生学习吗?
  9. sum怎么用python_python sum()函数和.sum(axis=0)函数的使用
  10. oracle指令df,​ oracle 常用命令大汇总