说法一

CPU历来都是一个高大上的话题,普通吃瓜群众除了CPU越贵越好之外,可能就一无所知了。曾经小编对于CPU也是一头雾水,后来请教了很多大神,又查阅了很多资料,才粗略地搞明白了一点。在此,小编就按照自己的理解,尽量用最通俗的语言去撕开CPU神秘的面纱,让更多人能够明白CPU。

CPU的中文翻译叫中央处理器,好吧,这其实只是一句废话,不过为了这个牛逼的翻译,我们也给它一个牛逼的比喻,那我们就把CPU比喻成一个国家的中央机构,接下来我们一一对应打比喻讲解。

影响CPU性能的主要因素可以分为两大块:主频和架构。这里看不懂不要紧,接下来听小编为你一一解释就懂了。

主频我们可以理解为中央部门的工作能力,架构可以理解为国家的管理制度,主要用于协调中央机构各部门之间的工作。所以整个中央机构的工作效率(CPU性能)主要就是受到这两个方面的影响。工作能力越高各部门之间协调越好,整体工作效率自然就越高。反之,任何一方面不够好,都会对整体工作效率造成明显的影响。

我们知道市面上最大的PC处理器主要由两大品牌Intel和AMD垄断,而大部分时间里,Intel都是压着AMD打的,原因就是因为AMD的架构不行,虽然主频对比Intel不落下风甚至稍微领先,但是整体性能却被Intel彻底压制了。这就是因为AMD的中央机构各部门协调能力比Intel差多了,所以即使工作能力差不多,但协调不好,所以整体工作性能就比不过了。
说完了性能接下来我们就来说说CPU的结构和工作原理。

CPU的结构主要由运算器、控制器、寄存器三大块组成。

①运算器就是中央机构里负责执行任务的部门,也就是专门干活的;而控制器就是中央机构的领导小组,针对不同是需要,给运算器下达不同的命令;寄存器可以理解为控制器和运算器之间的联络小组,主要工作就是协调控制器和运算器。

运算器这个干活的部门,平日里整个中央机构要干点啥事就找这个部门。例如东边洪灾了,你去赈灾吧;西边发现金矿了,你去主导挖矿吧;北边下大雪了,你去送温暖吧;南边下暴雨了,你去疏导洪流吧……

②而控制器这个部门比较牛逼,他们是不用干活的,主要就是对国家(整部计算机)发生的各种情况,做出应对,然后让运算器去把活干好。在这里,我们会发现一个大问题:如果这个部门闲的蛋疼,乱下命令怎么办?这也好办,我们就制定出一套行为规范来限制他们,不让他们乱搞。而这套行为规范就是CPU的指令集。

指令集就是CPU的行为规范,所有的命令都必须严格按照这部行为规范来执行。在这里说明一下不同类型的CPU指令集也不一样,其中最常见的就是X86架构下的复杂指令集和ARM架构下的简单指令集。X86就是我们平常电脑CPU的架构,ARM就是手机CPU的架构。

由于电脑CPU这个中央机构所在的国家(电脑)面积大、人口多、国情复杂,啥事都会发生,所以规章制度就需要特别完善,考虑到方方面面的情况要怎么应对。而手机CPU这个中央机构国家小、人口少、面积窄,所以规章制度简单一点就可以了。这就是复杂指令集和简单指令集的区别。

③寄存器这个部门稍微复杂一点,因为它虽然没有运算器和控制器那么重要,但是它P事多,控制器平时总喜欢让寄存器去给运算器传达个命令。而运算器有时候也会担心数据太多一时处理不过来,就让寄存器帮它先记着,有时候工作需要些笔啊、纸啊、螺丝刀之类的小工具,也让寄存器帮它拿着。

了解完寄存器的功能后,又发现了一个问题,如果控制部门下达的命令太多,而运算部门又没那么快可以做完,又或者运算器让它记住的东西或者临时拿着的东西太多,寄存器部门太小,人太少,忙不过来怎么办?好办,扩招人员吧,可是这个部门的人员都是编制内的,没有在编名额了怎么办?也好办,那就招些编外人员吧,也就是我们常说的临时工。

招了临时工,总要给他个名号吧,那就再成立一个部门,叫高速缓存。为了体现亲疏有别,这个部门把临时工分为三个等级,分别是一级高速缓存、二级高速缓存、三级高速缓存。反正也是临时工,名号就这么随便叫吧。

在CPU这个中央机构可跟新闻上说的事给临时工做、锅给临时工背不同,在这里高速缓存这个临时工部门是作为寄存器替补而存在的,也是说,必须在寄存器完成不了工作量时,才能交给高速缓存来做。一开始交给一级高速缓存来做,一级也做不完再给二级,二级还做不完就给三级。这里又有一个问题出现了,那就是如果三级也做不完怎么办?

这完全没问题,交给中央机构的一个下属部门去办,这个部门就是内存。但是因为内存毕竟不属于中央机构,工作能力没有中央机构人员那么强,效率也没有那么高。

所以控制部门要下达命令或者运算部门要做事时,首先想到的就是寄存器,寄存器忙不过来了就找高速缓存帮忙,高速缓存也忙不过来就找内存帮忙。那么,内存也传达不过来呢?内存传达不过来那就没办法了,只能让电脑先卡着吧,等运算部门先把上一件事处理好再说。所以,买电脑,不能光看CPU牛不牛,内存容量也要跟上。

还有一个容易被大家忽略的问题,在这里也说一下吧,那就是晶体管。晶体管是构成CPU最基础的原件,可以理解为整个中央机构的工作人员。随着科技的进步,CPU生产工艺越来越精细,目前手机端CPU(ARM架构)制程已经提升到7nm,电脑端也达到了14nm。

制程的提升,我们可以理解为,缩减每个办公人员的办公面积,以前科技不发达每个办公人员必须配一个独立办公室,才能有效完成工作,现在技术进步了,每个办公人员只需要一张办公桌就能完成工作了。所以同样的一栋大楼,可以容纳的办公人员(晶体管)就多了,工作能力就上升了。

以前一个CPU由于制程落后,只能容纳几千万或者几亿个晶体管,现在制程进步了,一个同样体积的CPU可以容纳几十亿个晶体管,性能自然就提升了。

那么,为什么晶体管数量增加了,CPU的能耗却没有增加呢?我们可以这么理解,每个工作人员都需要吃饱了才有力气干活,以前的工作人员需要吃九菜一汤才够力气,现在改为营养配餐了,每个工作人员只需要吃一片营养药丸就可以工作了,所以工作人员虽然增加了,但是整体伙食成本(耗电量)并没有增加。

最后,我们说一下CPU的核心和进程又是什么呢?我们可以这么理解,在单核时代,每个CPU只有一个核心,也就是只有一个中央机构,但是国家那么大,事那么多,中央机构每天加班25个小时都忙不完了。那就没办法了,扩充中央机构吧。于是乎双核、四核、多核CPU就出来了。每一个核心都是一个独立的中央机构,都具有相同的工作能力。

这么多个中央机构成立了,那听谁的,有事情交给哪个中央机构去做,要知道它们的权利和功能都是一样的啊。这时候就要改变CPU架构了,也就是国家的管理制度了。以前国家只有一个中央机构,啥事都交给它去做准没错,现在突然变成好几个中央机构了,怎么办?

这个时候就需要为每个核心安排去负责不同的事务了,这套中央机构专门负责农业,那套负责工业,剩下的负责税收、财政等等之类的。

那什么是进程呢,进程其实可以理解为一个中央机构里面的人员组成。有时候事太多了,光这几个中央机构处理起来还是有点吃力,但是为了节约成本,我们不能再组建新的中央机构了,那就只好折中处理,不另外成立新的中央机构了,就在原有的基础上,每个中央机构组建两套完全一致的工作班子吧。

所以,4核CPU就是拥有四个独立的中央机构,都具备相同的工作能力和权限,但是每个核心都会负责不同的事务。4核8线程就是四个独立的中央机构,每一个中央机构都拥有两套完整的工作班子,每套工作班子权限也一样。

这时候问题又出现了,例如某个中央机构负责的事特别多,忙不过来,而其他的中央机构负责的事很少,闲的发慌,那怎么办?这时候,我们的架构又出现了,好办!今天你这个核心负责的事多,就你来主导,让其他事少的核心辅助你工作。明天另外一个核心负责的事多,就由它来主导,其他核心辅助它工作。

在这里小编想起来一个网上很火的段子:MTK的CPU一核有难九核围观。这就是架构落后造成的,它的管理制度不完善,没办法调节每个中央机构之间的互相配合,有事情要做,往死里用一个核心,其他九个核心啥事没有,只好吃瓜围观了。

说法 二

有个人其实答的挺好,说架构=指令集,这个回答对非相关专业的人可能会带来另外一个疑问: 那指令集又是尼玛什么东东?
我举个例子吧:我们炒菜的时候,肯定要分步骤的,对吧。 那炒菜分什么流程呢? 从大的方面来说,起码要包含:买菜,择菜,洗菜,切菜,备调料,开火,热油,将菜放入锅中,翻炒(爆炒、煎、炸,等等),出锅,摆盘。
好,那我们来看,以上这些步骤,其实每一步又可以分为小的步骤,比如买菜,起码要分为:走到菜市场,挑选一家靠谱的菜摊,询价,称重,付钱,走回家。

所以,一个简单的炒菜,就是由一个个小步骤汇聚成的一个个大步骤所组成的。因此在执行“炒菜”这个动作的时候呢,只要按照每个步骤来,别管最后的菜好不好吃,起码能出来“菜”这个结果。
那我强调这些个步骤和步骤的细分,和我们要讨论的指令集又有什么关系呢? 有关系,关系大了! 其实炒菜的步骤,从概念上和CPU处理各种计算是类似的,CPU处理计算也是一个个小步骤汇聚成大步骤,完成大步骤即可以得到结果。而指令集就是CPU处理各种计算的步骤的细分,只不过它把各种步骤固定下来作为一个组合。

开个脑洞,假设存在一个“买菜指令集”,那这个指令集就是我上边说的这些具体步骤:买菜,择菜,洗菜,切菜,备调料,开火,热油,将菜放入锅中,翻炒(爆炒、煎、炸,等等),出锅,摆盘。当然,我说了,做菜的大致步骤如上,我并没有说你非要这么做。 根据喜好,你还可以调整顺序啊,或者你可以在网上买食材送上门啊,或者洗菜的过程中顺便摘菜啊,都可以的。 因此, 只要你的处理步骤不同,实际上你个人的“买菜指令集”就是不同的。

这个时候就要提到架构是什么了。 买菜你步骤不同没关系,得到同样一盘菜就好了;CPU处理计算,本来逻辑上说,只要结果正确步骤也没问题,可是,由于你必须要把你的指令集写死在芯片上,因此,不同的指令集,写在芯片上的电路自然也就有区别了;甚至由于指令集不同,每种指令集所需要的寄存器、数据带宽也都有所不同,那么制作出来的芯片自然区别比较大了。 这些不同的芯片设计和安排,就是所谓的“架构”。

所以,现在你就知道,x86的架构和ARM就不一样,他们的指令集不同,自然架构就不同了。这里顺口提一句什么是精简指令集(RISC),什么又是复杂指令集(CISC)。

精简指令集,就是把炒菜的步骤使劲分到最小,小到无法在细化,那么这时这个步骤就是通用的了,比如“买菜”的细分步骤“出门”,“出门”这个动作不光适用于买菜,买馒头,倒垃圾呀什么的,都可以使用“出门”这个细分步骤。 当这么多小到不能再小的步骤集合在一起,就是精简指令集了。

那复杂指令集则相反,它是不太细化的指令,比如“买菜”就是买菜,就是代表一整套买菜流程,而“倒垃圾”我就再来一整套倒垃圾流程。 因此复杂指令集就会比较个性化,设计起来也更困难,因为他每一个指令要完成的动作更复杂,但好处是效率高,时间快。而精简指令集虽然很好设计,但是每个动作被分为更多步,就会导致效率变低,执行慢,而如果你人为的加快时钟频率的话,能耗又会加大。

所以,二者兼有长短。 一般来说x86这种复杂指令集应用在个人电脑或者服务器上,而ARM这种精简指令集则用在移动设备上。

cpu架构----通俗理解相关推荐

  1. ARM内核与架构通俗理解:

    ARM内核:从ARM7.ARM9到Cortex-A7.A8.A9.A12.A15再到Cortex-A53.A57等,总之不同版本 ARM 有不同的想法.比如为高速度设计的Cortex A8.A9都是A ...

  2. 【RTOS的最通俗理解】行业大佬用一篇文章带你快速理解RTOS

    资料下载&百问网技术交流群,百万嵌入式工程师聚集地: https://www.100ask.net/page/2248041 文章目录 单片机\_RTOS\_架构 1. RTOS的概念 1.1 ...

  3. 深度学习 通俗理解——非常适合新手

    前言 读到这篇深度学习的通俗理解文章,觉得不错,分享于此,非常适合刚刚学习机器学习深度学习的小伙伴. 特别说明:本文对深度学习的概念阐述刻意避免了数学公式和数学论证. 从根本上说,深度学习和所有机器学 ...

  4. (转)从CPU架构和技术的演变看GPU未来发展

    泡泡网显卡频道5月28日 自从AMD提出Fusion(融聚)的概念.NVIDIA加大力度推广GPU通用计算.Intel率先将CPU和GPU整合在一起之后,大家就会发现CPU和GPU从没如此亲密无间过, ...

  5. android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种

    Android 相关七种 CPU 架构适配,android七种 转载请注明出处:http://blog.csdn.net/kester_/article/details/71055901 NDK 开发 ...

  6. 如何通俗理解Word2Vec

    如何通俗理解Word2Vec 看本文之前,建议先看此文:<BERT通俗笔记:从Word2Vec/Transformer逐步理解到BERT> 前言 今年上半年,我在我的上一篇LSTM博客中写 ...

  7. AI绘画能力的起源:通俗理解VAE、扩散模型DDPM、DETR、ViT/Swin transformer

    前言 2018年我写过一篇博客,叫:<一文读懂目标检测:R-CNN.Fast R-CNN.Faster R-CNN.YOLO.SSD>,该文相当于梳理了2019年之前CV领域的典型视觉模型 ...

  8. 从CPU架构--x86架构和arm架构处理器--功耗

    目录: 1.两种cpu架构:冯洛伊曼和哈佛 2.x86架构和arm架构分析 3.x86架构和arm架构功耗探究 一.两种cpu架构: 目前主流的cpu 处理器都采用了冯洛伊曼架构或者哈佛架构,那么这和 ...

  9. 图解CPU生产全过程——以intel CORE i7为例,展望CPU架构

    科学Sciences导读:图解CPU生产全过程--以intel CORE i7为例,展望CPU架构.本文简介英特尔Intel x86架构.生产制造CPU的原料和准备.CPU生产制造过程,并展望CPU的 ...

最新文章

  1. Debian Security Advisory(Debian安全报告) DSA-4410-1 openjdk-8 security update
  2. C#线程系列讲座(1):BeginInvoke和EndInvoke方法
  3. 尼康d850相机参数测试软件,尼康 D850最全参数信息曝光 快来围观
  4. LeetCode 744. Find Smallest Letter Greater Than Target (时间复杂度O(n))
  5. 为什么被雷击中的大多是男性???
  6. Ansys ——自定义不规则形状梁截面
  7. 华为机试支持python吗_4.10华为暑期实习生机试题目,python解答
  8. PHP学习笔记--函数
  9. [教程] 康盛创想 Windows (server 2003) 服务器部署标准 白丁简明版
  10. 【制作脑图】万彩脑图大师教程 | 概括主题
  11. ms12-020复现-xp蓝屏
  12. 微信小程序 canvas type = 2d 绘制海报心得(包括怎么绘制图片和圆角图片和圆角矩形等)
  13. 【第3版emWin教程】第45章 emWin6.x窗口管理器之定时器使用
  14. 除硬件外计算机系统不可缺少的是,银河系重约多少个太阳质量?
  15. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to
  16. 【solidity入门】4. 函数输出 Return
  17. onlyOffice编辑保存后显示编码乱码问题
  18. 电机的反电动势了解及步进电机的基本特性
  19. 把妹导论第二版(Hunting-Girls Introduction II)
  20. 知识库 编号:010

热门文章

  1. 解决v2rayN的延迟是-1的问题
  2. 课表APP(未完成版)
  3. 自动驾驶之自行车模型
  4. 私有频道+用户组,融云超级群的无限用户「分层管理术」
  5. 苹果12系统链接到服务器超时,iphone12连不上电脑怎么办 iphone12连接失败解决方法...
  6. System Volume Information文件夹删除(亲测可用)
  7. 学习总结-犀牛被问篇
  8. NodeList对象
  9. 2006.9 软件俱乐部成立
  10. 图像课设Huffman编码