专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

程序员学习CPU有什么用?

  本文已收录到AndroidFamily,技术和职场问题,请关注公众号〔彭旭锐〕提问。前言
  大家好,我是小彭。
  在上一篇文章里,我们聊到了计算机的冯诺依曼架构,以及计算机的五大部件:控制器、运算器、存储器、输入设备和输出设备。在现在计算机体系中,CPU是整个计算机的核心,主要包含控制器和运算器两大部件。
  在后续文章中,我们将从CPU的基本认识开始,逐步将CPU与执行系统、存储系统和IO系统串联起来,请关注。
  小彭的Android交流群02群已经建立啦
  思维导图:
  1。认识CPU中央处理器1。1什么是CPU?
  中央处理单元(CentralProcessingUnit,CPU)也叫中央处理器或主处理器,是整个计算机的核心,也是整台计算机中造价最昂贵的部件之一。
  从硬件的角度:CPU由超大规模的晶体管组成;
  从功能的角度:CPU内部由时钟、寄存器、控制器和运算器4大部分组成。1、时钟(Clock):负责发出时钟信号,也可以位于CPU外部;2、寄存器(Register):负责暂存指令或数据,位于存储器系统金字塔的顶端。使用寄存器能够弥补CPU和内存的速度差,减少CPU的访存次数,提高CPU的吞吐量;3、控制器(ControlUnit):负责控制程序指令执行,包括从主内存读取指令和数据发送到寄存器,再将运算器计算后的结果写回主内存;4、运算器(ArithmeticLogicUnit,ALU):负责执行控制器取出的指令,包括算术运算和逻辑运算。
  冯诺依曼架构
  图片引用自Wikipedia1。2为什么要学习CPU?
  对于大部分程序员,日常所处理的工作都是在跟Java和C等高级语言打交道,并不会直接地与CPU打交道。那么,为什么我们还要花这么多时间去学习CPU呢?我认为有以下原因:原因1掌握CPU原理能够开发更高性能的程序:理解CPU的工作原理有助于设计出更高性能的算法或代码,例如通过避免伪共享、提高缓存命中率等方式提高程序运行效率,就需要对CPU的缓存机制有一定的理解;原因2扩展方案积累:CPU是整个计算机系统中最复杂的模块,也是当代计算机科学的制高点。积累CPU内部的解决方案,能够为将来的遇到类似问题提供思路,达到触类旁通的作用。例如CPU缓存淘汰策略与应用内存的缓存淘汰策略有相似之处;原因3CPU是知识体系最底层的知识:当我们在思考或解决某一个问题时,就需要利用到更深层次的知识积累来解释,而CPU就是位于知识体系中最底层知识。例在内存系统的可见性、执行系统的IOWAIT和线程池设计等问题中,都需要对CPU的执行机制有一定理解。
  CPU
  图片引用自图片来源1。3通用处理器和专用处理器
  在早期的计算机系统中,只有1个通用处理器,使用1个处理器就能够完成所有计算任务。后来人们发现可以把一些计算任务分离出来,单独设计专门的芯片微架构,在执行效率上会远远高于通用处理器,最典型的专用处理器就是GPU图形处理器。
  这种用来专门处理某种计算任务的处理器就是专用处理器,那为什么专用处理器在处理某些特定问题时更快呢,我认为有3点解释:1、最优架构:专用处理器只处理少量类型的工作,可以为特定工作设计最优芯片架构,而通用处理器只能设计全局最优架构,但不一定是执行特定工作的最优机构;2、硬件加速:可以把多条指令的计算工作直接用硬件实现,相比于CPU一条条地执行指令,能够节省大量指令周期;3、成本更低:专用处理器执行的计算流程是固定的,不需要CPU的流水线控制、乱序执行等功能,实现相同计算性能的造价更低。
  现代计算机架构都是1个通用处理器加上多个专用处理器,这种将不同类型的计算任务采用不同的计算单元完成的设计,也叫异构计算(HeterogeneousComputing)。
  多处理器架构
  2。指令集架构ISA2。1什么是指令集架构?
  CPU所能理解的机器语言就是指令(InstructionCode),一个CPU所能理解的所有指令就是指令集(InstructionSet)。
  为了保证芯片间的兼容性,芯片厂商并不为每款新芯片设计一个新的指令集,而是将指令集推广为标准规范,这个规范就是指令集架构(InstructionSetArchitecture,ISA),
  相对于指令集架构,CPU在实现具体指令集功能的硬件电路设计就是微架构(MicroArchitecture)。如果用软件的思考方式,ISA就是CPU的功能接口,定义了CPU的标准规范,而微架构就是CPU的功能实现,定义了CPU的具体电路设计,一种指令集可以兼容不同的微架构。2。2两种主流的指令集架构
  因为CPU位于整个计算机系统最底层且最核心的部件,如果CPU的兼容性都出问题了,那么以前开发的应用软件甚至操作系统将无法在新的CPU上运行,这对芯片厂商的生态破坏是致命的。因此,指令集架构是相对稳定的,芯片厂商在ISA中添加或删除指令时会非常谨慎。
  目前,能够有效占领市场份额的只有2个ISA,它们也分别代表了复杂与精简2个发展方向:x86架构:Intel公司在1970年代推出的复杂指令集架构;ARM架构:ARM公司在1980年代推出的精简指令集架构,我们熟悉的AppleM1芯片、华为麒麟芯片和高通骁龙芯片都是ARM架构(其实,ARM公司并不生产芯片,而是以技术授权的模式运行)。2。3复杂指令集和精简指令集
  在CPU指令集的发展过程中,形成了2种指令集类型:复杂指令集(ComplexInstructionSetComputer,CISC):强调单个指令可以同时执行多个基本操作,用少量指令就可以完成大量工作,执行效率更高;精简指令集(ReducedInstructionSetComputer,RISC):强调单个指令只能执行一个或少数基础操作,指令之间没有重复或冗余的功能,完成相同工作需要使用更多指令。
  在早期的计算机系统中,指令集普遍很简单,也没有复杂和精简之分。随着应用软件的功能越来越丰富,应用层也在反向推动芯片架构师推出更强大的指令集,以简化程序编写和提高性能。例如,一些面向音视频的指令可以在一条指令内同时完成多个数据进行编解码。
  这在当时的确是不错的选择。原因是CPU和主存的速度差实在太大了,用更少的指令实现程序功能(指令密度更高)可以减少访存次数。凭借这一点,复杂指令集对精简指令集的优势是几乎全面性的:优势1:可以减少程序占用的内存和磁盘空间大小;优势2:可以减少从内存或磁盘获取指令所需要的带宽,能够提高总线系统的传输效率;优势3:CPUL1Cache可以容纳更多指令,可以提高缓存命中率。且现代计算机中多个线程会共享L1Cache,指令越少对缓存命中率越有利;优势4:CPUL2Cache可以容纳更多数据,对操作大量数据的程序也有利于提高缓存命中率。
  然而,这些优势都是有代价的:缺点1处理器设计复杂化:指令越复杂,用于解析指令的处理器电路设计肯定会越复杂,执行性能功耗也越大;缺点2指令功能重叠:很多新增的指令之间产生了功能重叠,不符合指令集的正交性原则,而且新增的很多复杂指令使用率很低,但处理器却付出了不成正比的设计成本;缺点3指令长度不统一:指令长度不统一,虽然有利于使用哈夫曼编码进一步提高指令密度(频率高的指令用短长度,频率高的指令用大长度),但是指令长度不同,执行时间也有长有短,不利于实现流水线式结构。
  因此,到1980年代,精简指令集RISC逐渐浮出水面。目前,大多数低端和移动系统都采用RISC架构,例如Android系统、Mac系统和微软Surface系列。
  相比于复杂指令集,精简指令集更加强调正交性,单个指令只能执行一个或少数基础操作,指令之间没有重复或冗余的功能。而且精简指令集的每条指令长度相同,非常便于实现流水线式结构。
  网上很多资料有一个误区:精简指令集简化了指令集的大小。这是不对的,准确的说法是简化了指令集的复杂度。
  总结一下:复杂指令集凭借更高的指令密度,在性能方面整体优于精简指令集(内存磁盘占用、CPUCache命中率、TLB未命中率),而精简指令集牺牲了指令密度换取更简单的处理器架构,以性能换取功耗的平衡。
  指令集类型CISCRISC指令数量指令数量庞大指令数量相对较少指令长度长度不同长度相同指令功能有重叠正交举例x86ARM、MIPS3。CPU的性能指标3。1执行系统参数1、主频(FrequencyClockRate):在CPU内部有一个晶体振荡器(OscillatorCrystal),晶振会以一定的频率向控制器发出信号,这个信号频率就是CPU的主频。主频是CPU最主要的参数,主频越快,计算机单位时间内能够完成的指令越快。CPU的主频并不是固定的,CPU在运行时可以选择低频、满频甚至超频运行,但是工作频率越高,意味着功耗也越高;2、时钟周期(ClockCycle):主频的另一面,即晶振发出信号的时间间隔,时钟周期1主频;3、外频:外频是主板为CPU提供的时钟频率,早期计算机中CPU主频和外频是相同的,但随着CPU主频越来越高,而其他设备的速度还跟不上,所以现在主频和外频是不相等的;4、程序执行时间:4。1流逝时间(WallClockTimeElapsedTime):程序开始运行到程序结束所流逝的时间;4。2CPU时间(CPUTime):CPU实际执行程序的时间,仅包含程序获得CPU时间片的时间(用户时间系统时间)。由于CPU会并行执行多个任务,所以程序执行时间会小于流逝时间;4。3用户时间(UserTime):用户态下,CPU切换到程序上执行的时间;4。4系统时间(SysTime):内核态下,CPU切换到程序上执行的时间;3。2存储系统参数字长(Word):CPU单位时间内同时处理数据的基本单位,多少位CPU就是指CPU的字长是多少位,比如32位CPU的字长就是32位,64位CPU的字长就是64位;地址总线宽度(AddressBusWidth):地址总线传输的是地址信号,地址总线宽度也决定了一个CPU的寻址能力,即最多可以访问多少数据空间。举个例子,32位地址总线可以寻址4GB的数据空间;数据总线宽度(DataBusWidth):数据总线传输的是数据信号,数据总线宽度也决定了一个CPU的信息传输能力。
  区分其它几种容量单位:字节(Byte):字节是计算机数据存储的基本单位,即使存储1个位也需要按1个字节存储;块(Block):块是CPUCache管理数据的基本单位,也叫CPU缓存行;段(Segmentation)页(Page):段页是操作系统管理虚拟内存的基本单位。
  相关文章:计算机的存储器金字塔长什么样?4。影响CPU性能的因素
  CPU作为计算机的核心部件,未来一定是朝着更强大的性能出发。在看待CPU的视角上,我们也要具备一定的全局观:1、提升CPU性能不止是CPU的任务:计算机系统是多个部件组成的复杂系统,脱离整体谈局部没有意义;2、平衡性能与功耗:一般来说,CPU的计算性能越高,功耗也越大。我们需要综合考虑性能和功耗的关系,脱离功耗谈性能没有意义。4。1提升CPU主频
  提升主频对CPU性能的影响是最直接的,过去几十年CPU的主要发展方向也是在怎么提升CPU主频的问题上。
  不过,最近几年CPU主频的速度似乎遇到瓶颈了。因为想要主频越快,要么让CPU满频或超频运行,要么升级芯片制程,在单位体积里塞进去更多晶体管。这两种方式都会提升CPU功耗,带来续航和散热问题。如果不解决这两个问题,就无法突破主频瓶颈。
  主频的瓶颈
  图片引用自Wikipedia4。2多核并行执行
  既然单核CPU的性能遇到瓶颈,那么在CPU芯片里同时塞进去2核、4核甚至更多,那么整个CPU芯片的性能不就直接翻倍提升吗?
  理想很美好,现实是性能并不总是随着核心数线性增加。在核心数较小时,增加并行度得到的加速效果近似于线性提升,但增加到一定程度后会趋于一个极限,说明增加并行度的提升效果也是有瓶颈的。
  为什么呢?因为不管程序并行度有多高,最终都会有一个结果汇总的任务,而汇总任务无法并行执行,只能串行执行。例如,我们用Java的ForkJoin框架将一个大任务分解为多个子任务并行执行,最终还是需要串行地合并子任务的结果。
  这个结论也有一个经验定律阿姆达尔定律(Amdahl’sLaw),它解释了处理器并行计算后效率提升情况。我们把串行的部分称为串行分量Ws,把并行的部分称为并行分量Wp,正是串行分量限制了性能提升的极限,串行分量越大,极限越低。并行后的执行时间是WppWs并行后的加速倍数是WsWpWsWpp,当并行度p趋向于无穷大时,提升极限就是WsWpWs
  并行度、并行分量对提升效果的影响
  图片引用自Wiki百科
  说明:以绿色的曲线为例,程序可以的并行分量是95,串行分量是5,最终得出的提升极限就会20倍。4。3指令重排序
  增加核心数是提升并行度最直接的方法,但并不是唯一的方法。
  现代CPU为了提高并行度,会在遵守单线程数据依赖性原则的前提下,对程序指令做一定的重排序。事实上不止是CPU,从源码到指令执行一共有3种级别重排序:1、编译器重排序:例如将循环内重复调用的操作提前到循环外执行;2、处理器系统重排序:例如指令并行技术将多条指令重叠执行,或者使用分支预测技术提前执行分支的指令,并把计算结果放到重排列缓冲区(ReorderBuffer)的硬件缓存中,当程序真的进入分支后直接使用缓存中的结算结果;3、存储器系统重排序:例如写缓冲区和失效队列机制,即是可见性问题,从内存的角度也是指令重排问题。
  指令重排序类型
  相关文章:12张图看懂CPU缓存一致性与MESI协议,真的一致吗?4。4SoC芯片片内片外双总线结构
  随着芯片集成电路工艺的进步,在冯诺依曼架构中的五大部件(运算器、控制器、存储器、输入和输出设备接口)也可以集成在一个芯片上,形成一个近似于完整计算机的系统,这种芯片也叫片上系统(SystemonChip,Soc)。SoC芯片将原本分布在主板上的各个部件聚合到同一个芯片上,不同部件之间的总线信息传输效率更高。
  相关文章:图解计算机内部的高速公路总线系统5。总结
  今天,我们简单了讨论了CPU的基本概念,很多问题只是浅尝辄止。在后续的文章里,我们将从执行系统、存储系统和IO系统三个角度与CPU串联起来。请关注。参考资料CPU通识课靳国杰张戈著深入浅出计算机组成原理徐文浩著,极客时间出品CodeDensityConcernsforNewArchitecturesVincentM。Weaver等著CentralprocessingunitWikipediaInstructionsetarchitectureWikipediaComplexinstructionsetcomputerWikipediaReducedinstructionsetcomputerWikipediaApplicationbinaryinterfaceWikipediaClockRateWikipediaAmdahlslawWikipedia

73岁婚纱女王秀美背,皮肤细腻宛如少女,脚踩恨天高被嘲装嫩近日,被誉为婚纱女王的73岁VeraWang现身2022CFDA时尚大奖颁奖典礼,当天身穿颇具设计感的吊带小黑裙造型,大秀美背引发不少热议,再加上个性的编发造型,据悉VeraWan早餐不能喝白粥?除白粥外,这3种早餐要少吃,早了解早受益近几年大家对身体养护越来越重视,作为美食大国,早餐在一日三餐中的地位尤为重要。从小我们就被教导早餐吃得像皇帝,不仅要吃得饱还要吃得好。但现代人生活节奏快,留给早餐的时间并不多,一碗尿频,下腹坠痛,前列腺炎,论治重脾,脾气健运方能健康无碍近时以来,西学东渐,医家多重视辨病论治,多认为前列腺疾病与肾的关系密切,多强调本虚标实之说,以我临床所见,前列腺疾病的确存在肾虚血瘀的病机,但只是一小部分。前列腺的分泌与排泄受心神世界杯巡礼之巴西小熊内马尔引领进攻防守段存两大隐患超级内马尔30岁的内马尔,将会迎来自己第3次的世界杯之旅。表面看巴西队星光灿烂,其实中后场存在不少的隐患。锋线看似人才济济,但是却没有真正高效的射手。或许用外强中干来形容,会有一点4年111场球领走1。4亿,伦纳德宣布无限期休赛,鲍尔默或再白送1亿伦纳德,曾经联盟的闷葫芦乖孩子,可是在被帕楚里亚垫了那一脚之后,在伦纳德的经纪人变成了卡舅之后,伦纳德彻底放飞了自己,特别是在猛龙队首个赛季就获得了总冠军之后,伦纳德更是水涨船高,多家美媒曝WNBA球星格里娜已被转移至俄罗斯流放地北京时间11月10日,据ESPNTA等多家权威美媒报道,WNBA球星布里特妮格里娜已于上周五被转移至俄罗斯流放地(penalcolony,即条件较一般监狱更差的劳改所)。格里娜的律曝中国男篮将换帅外教入主5件事01hr曝中国男篮将换帅根据外媒报道,塞尔维亚籍教练萨沙乔尔杰维奇预计将成为中国男篮主教练。乔尔杰维奇曾在2013年到2019年担任过塞尔维亚国家队的主教练,并且取得了世界杯奥运会怀斯曼将是勇士现阶段最有可能被交易球员,普尔将会是下一个过去十年的时间里,他们铸就过辉煌赢取了四次冠军,但他们也犯过错误。对于勇士来说,他们的错就在于2020年选秀用第二顺位选中了怀斯曼而放弃了鲍尔,连锁反应让后来的普尔和怀斯曼都得到了战报!中国已有5人晋级英锦赛正赛,丁俊晖10号晚上21点出战北京时间11月10号清晨,2022英锦赛资格赛最后一轮比赛结束8场比赛,出战的5位中国选手中,徐思以64战胜田鹏飞,周跃龙以63击退琼斯,吕昊天以61打败希克斯,而吴宜泽56惜败史瓜帅小蜘蛛可以和哈兰德共处菲利普斯已经准备好了曼城在联赛杯第3轮20击败切尔西晋级下一轮,赛后球队主帅瓜迪奥拉接受了媒体的采访。关于比赛胜利我们表现得很好,我对结果和球员的表现都感到非常满意,因为切尔西是一支非常优秀的球队。奥伊能静和儿子恩利的相处,让我们看到了什么是美好的亲子关系他说妈妈,网上关于我的报道,你有没有受伤?会不会影响到你的工作她说你不需要承担来自于父母职业带给你的任何东西,大不了我就不做这个行业了,不重要,没有什么比你更重要!她说自由是非常宝
纪念试管一次成功宝贝一岁了2022育儿季我觉得试管的痛苦一是身体上的痛苦二是心里的痛苦,整个过程极其耗费时间精力,开始前先双方全面大检查,抽血激素B超染色体等等,女方可能还会有输卵管造影或者宫腔镜检查,宫腔投资290亿!京东方拟于北京建LTPO第6代新型半导体显示器件生产线10月30日晚间,京东方A发布公告称,公司下属控股子公司北京京东方创元科技有限公司拟在北京经济技术开发区投资建设应用LTPO技术的第6代新型半导体显示器件生产线项目,着力布局VR显文案我们都太自信,以为自己能改天换地人的不自信是体现在方方面面的,多少次想鼓起勇气,但是每次都会退后一步。我们每个人都希望被友好对待,所以不要轻易伤害任何一个人。不是每个人都那么强大,受的了那些流言蜚语。如果你给我的海南文昌航天发射场梦天实验舱准备就绪将择机发射2022年10月30日,海南文昌航天发射场,中国空间站梦天实验舱各项准备工作就绪,近期将择机发射。据西昌卫星发射中心总工程师钟文安30日介绍,目前,梦天实验舱任务发射前装备状态良好天目专访中科院院士沈树忠一块亿年前的化石在说什么?近日,国际地质科学联合会公布了全球首批100个地质遗产地名录。浙江长兴金钉子地质剖面等7个中国地质遗产地成功入选,中国成为本次入选遗产地最多的国家之一。金钉子是如何被敲下的?研究亿一加18W冰点散热背夹原神限定版终于来了给你超乎想象的冰凉随着手机性能的提升,越来越多的端游逐渐手游化,喜欢用玩游戏的用户也遇到了一个不可避而不谈的话题,那就是长时间玩游戏引起的手机发热情况,不管任何品牌手机,在玩高运存游戏时,都会存在发挑战低温极限在太空玩火,梦天舱将开展约40项在轨实验,还带了一个超酷的维修车间北京时间2022年10月31日15时37分,长征五号B遥四运载火箭搭载空间站梦天实验舱,在我国文昌航天发射场准时点火发射,约8分钟后,梦天实验舱与火箭成功分离并准确进入预定轨道。这皇家马德里这场比赛皇马踢的真的不怎么样!前场没有了本泽马,像想少了定海神针一样。对手11人防守堵在禁区里和禁区门口。皇马风险球员身高普遍偏低,少了当年BBC和水爷时期可通过定位球来解决问题的曼联天才一数据创新高获滕哈格表扬!公开感谢穆帅,恩情永记在心曼联10力克西汉姆之后,23岁的迪奥古达洛和队友大卫德赫亚利桑德罗马丁内斯在西看台前进行了激烈的庆祝,阿根廷中卫趴在德赫亚背上,而达洛则在一边挥舞双拳。他们都是这场胜利的重要功臣,每日足坛转会追踪(10。31)曼联正在考虑一月份转会勒沃库森的杰雷米弗里姆蓬。这一消息是在埃里克滕哈格承认他正在寻找右后卫和左后卫位置的掩护之后,因为曼联在世界杯后有大量的比赛。滕哈格注意到,虽然他觉得目前的右张本亚军全程沮丧!日媒抱不平完全客场下允许负于中国下任王牌头条创作挑战赛王楚钦获得WTT世界杯决赛男单的冠军,他决赛中42轻松击败日乒天王张本智和,王楚钦连续连站拿下冠军后收获2500积分,他的世界排名直接提升到第三超越张本智和梁靖崑莫雷
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网