CPU单挑到群架发展史
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单挑到群架发展史相关推荐
- 360腾讯恩怨引爆规模群架 互联网站队法则全揭秘
在360与腾讯的这场大战愈演愈烈之时,有不少人都幻想一位灰发长辈把周鸿祎与马化腾叫到一起,慢悠悠地点燃一根烟说,"竞争不是乱搞.你们一个管10亿注册号.一个管3亿,乱弹窗的事儿已经搞大了,再 ...
- 【Linux进程、线程、任务调度】四多核下负载均衡 中断负载均衡,RPS软中断负载均衡 cgroups与CPU资源分群分配 Linux为什么不是硬实时 preempt-rt对Linux实时性的改造
学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章(点击链接:点击链接阅读上一篇文章)讲了: CPU/IO消 ...
- 进程线程(五) groups和CPU资源分群分配
基于cpu cgroups进行CPU资源分配 Linux的sched_autogroup(全新内容) 基于cpuset cgroups进行进程CPU绑定(全新内容) Docker和cgroups Sy ...
- Rocketmq集群架构图
集群架构图 集群特点
- 互联网公司分布式集群架构图
一.小型公司网络架构 狗子是某大学计算机专业本科应届毕业生,由于自己的技术不错,再加上互联网产业的巨大利润的驱使,狗子决定走上创业这条路,于是,狗子联合了同学二黑,鸡子,狗蛋等人花费了几个月的时间写出 ...
- web服务器+数据库集群架构图
- N270 CPU安装X86群晖反复出现可转移解决方案
反复出现可转移问题,始终不能启动成功,此处问题出在BIOS设置,需要修改BIOS设置中如下项目 BIOS内把SATA通道改为IDE,路径如下:ICH Control Sub-Menu→Integrat ...
- zuiqingchun4
第一百六十八章 给我介绍对象? 不过仔细想想,最可笑的就是自己了,高帅现在有了新的对象了,是我们学校一个女的,陈少秋现在也正跟林一妹好着呢,人家可能根本就不会坐着想这些无聊的问题,只有我自己在这角落里 ...
- 帝国时代2哪个服务器稳定,宅在家里玩什么?不如重回《帝国时代》看看
说来也怪,最近似乎刮起了一股经典游戏重制风,但比起风评颇差的<魔兽争霸 3>重制版,我倒是对另一款游戏十分着迷,这就是<帝国时代 2:决定版>. 一句"How do ...
最新文章
- HDU1272_并查集
- 设置Ext tab的宽度自动适应
- 遥控器按键不灵的修复方法
- Android ListView侧滑item,仿QQ删除效果
- python getattr和getattribute_python中__getattr__和__getattribute__区别
- 较为周全的Asp.net提交验证方案 (下)
- hadoop 回收站Trash
- SpringBoot 精通系列-创建SpringBoot的入门项目
- SpringBoot 2.1.5(37)---SpringBoot 2.1.5 项目启动运行方式
- 设置域用户登录主目录
- JavaWeb过滤器的应用
- 语音识别技术原理概述!
- AMD劲升6% 业界分析师看好其服务器芯片Ebyc
- selenium+numpy+opencv突破滑块验证码实现QQ空间登入
- 太阳系八大行星直径、质量、与太阳距离参数
- 请编程序将“China“译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母“A”后面第4个字母时“E“,用“E“代替“A“。因此,“China“应译为“Glmre”。请编一程序
- Unity框架——MVC框架
- Error type: LoadXML Description: Incorrect XML
- 常用的国外遥感卫星网站
- IDEA-Java注释模板设置
热门文章
- Android自定义view之圆形进度条
- 学教育成空中楼阁 巨额学费背后却是失业风险
- 易盛极星多合约回测(问题很多)
- Python html 代码转成 word(docx)
- SQLAlchemy中filter_by()和filter()的用法不同
- Mongodb基本使用方法
- 大数据开发初学者学习路线
- linux运维适合女生么,女生真的不适合做IT行业吗?Linux运维适合女生学习吗?
- sum怎么用python_python sum()函数和.sum(axis=0)函数的使用
- oracle指令df,​ oracle 常用命令大汇总