临汾山东漯河饰品美体美文
投稿投诉
美文创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品
漯河衢州
兴义眉山
桂林阳泉
玉溪简阳
山东遂宁
永城新余
梧州洛阳
泸州温州
临汾清远
营口常熟
浙江大连
桐乡宜昌

程序员学习CPU有什么用?

3月27日 不星湖投稿
  本文已收录到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
投诉 评论

扎心了!隋文静透露择偶标准身高至少1米78,韩聪尴尬喝水近日,花样滑冰双人滑组合韩聪和隋文静得到了许多媒体的关注,两位优秀的运动员在北京冬奥会的赛场上获得了双人滑比赛的金牌,实现了自己的夙愿。他们在平昌冬奥会的赛场上没能完成获得金牌……队记调查最难防守球员杜兰特力压字母东契奇排第一今天NBA官网召集联盟30支球队的跟队记者,进行了一次投票调查。最难防球员,凯文杜兰特高居第一,泰瑞斯哈利伯顿则被认为是最被低估球员。详情如下:最被低估球员:1。泰……广东唯一顶薪变累赘?多场硬仗隐身,他让朱芳雨左右为难北京时间1月9日,CBA常规赛继续开打,广东男篮11099福建男篮,此役任骏飞出战3分钟,得到3分1助攻的数据,随即就被杜锋换下去了,直至全场比赛结束,任骏飞都没有回归到比赛场……为何大陆人到香港最长只能待7天,而日本和英国,能住一个月以上香港经历过动荡的年代,曾经被战败的清政府割让给英国,自从新中国建国以来,党和国家的领导人就决心废除一切不平等条约,流落在外的香港一直是我们决心收复的领土,是我们华夏民族的一块心……王凯,一切才刚刚开始文文亦范编辑小丁有人曾说:一个清醒者,他面对一些不能与自己思想同步的人,即使不被理解,忧愤难安,然而心地沉稳,已有答案,不需要勉强别人去认同。当今的娱乐……2500元价位购机盘点,RedmiK60与iQOONeo7竞这时间一临近新年,想要给自己更换一台新机的朋友就越来越多了。甚至到了最近,还有不少朋友前来私聊我,说是想问问在最近的手机市场当中,2500元左右的价位的究竟哪几款手机比较值得购……蒙犽源梦皮肤设计感一绝!古风元素众多,帅气正太谁能不爱?众所周知,王者荣耀最近正在举办蒙犽皮肤设计大赛,作为源梦系列的高端款,此次蒙犽皮肤设计的重点都在国风元素上,不得不说众多参赛者投稿的作品真的是让人眼前一亮,蒙犽化身为萌萌的小正……苦难已尽,余生只剩繁华(一)很早就想写一篇关于自己的自传,没有华丽词藻,没有虚构的情节,平凡而朴实记录自己这三十余年起伏的人生。回顾过往,才发现人活着真的是万般皆是命,半点不由人。我出生的时候,家里……不当比喻该休矣(原创首发)作者:小田同学2022、11、26比喻的艺术手法运用,会使表达更形象、更生动、更具感染力。试以祖国为本体的比喻,漫谈之。人们把祖国比作母亲,母亲的慈详,祖国的……从5999元跌至2479元,12GB256GB2K屏幕,一加大家好,我是唐三,随着手机数码行业的高速发展,手机已经成为了人人必备的数码产品,因此手机的选购就成为大家都需要面对的问题,不同的手机使用寿命也不尽相同,普通的中低端手机使用两三……程序员学习CPU有什么用?本文已收录到AndroidFamily,技术和职场问题,请关注公众号〔彭旭锐〕提问。前言大家好,我是小彭。在上一篇文章里,我们聊到了计算机的冯诺依曼架构,以及计算机……做内容分析,还在纠结人工编码,还是机器编码吗?在内容分析法(ContentAnalysis)中,内容编码(Coding)是关键步骤,分类思维是核心要义。操作程序是把文本数据转化为量化数据,后续进行统计分析处理。在很多研究实……
平台转型独立站是大势所趋?转型过程中有哪些需要注意的吗?近几年我们会发现,从平台转型到独立站的卖家是越来越多,这与跨境电商行业的深入发展有着密切关系。除此之外,平台规则的限制、账号整顿等因素,也影响着跨境卖家的选择。从长期发展……得了糖尿病,饮食适当吃这5种食物,能起到辅助降低血糖的作用对于糖尿病患者来讲,除了要积极服用一些降糖药物治疗以外,还要注意饮食方面的调整。有些食物一旦过量摄入,或者是出现错误的进食习惯,就会直接影响到血糖值的稳定,诱发一些并发症……摊牌不装了,特色三消游戏魔镜2厂商,竟然要拉女神去种地前有鲁迅弃医从文,抨击旧社会的种种;现有特色游戏上岸,搞起了种田休闲玩法。凭借二次元美少女走擦边球,吸引众多粉丝和玩家的消消乐游戏《魔镜》;在推出第二部续作时杜绝擦边球,被大量……停航三年,肯尼亚内罗毕至广州直航恢复视频加载中。。。(央视财经《天下财经》)肯尼亚首都内罗毕与中国广州之间的直航,之前因新冠疫情中断。昨天(9日),这趟航线正式复航。9日当天下午3点50分,来自中国南……带孩子到海边游玩,发现孩子的快乐与众不同,附送4个实用建议文凝妈悟语在《小王子》中,小王子问狐狸:什么是仪式感?狐狸说:它就是使某一天与其他时间不同,使某一时刻与其他时刻不同。当把某一天赋予了特别的意义,做了一件特别……康师傅获得2022中国食品与健康示范企业碧海蓝天,椰树摇曳。2022年11月25至28日,由新华通讯社、海南省人民政府主办的2022中国企业家博鳌论坛在海南博鳌举行。食品健康产业发展是本届论坛的一项重要议程。……中国男足没去世界杯,中国新能源汽车却走向了世界这两周相信大家都沉浸在世界杯的激情中,在为支持的球队熬夜呐喊和别墅天台徘徊的同时,不免也为中国队未能站在绿茵场而略感遗憾。不过,中国男足没去世界杯,中国汽车走向世界的脚步却越走……三星GalaxyA34新渲染图曝光,已通过蓝牙SIG认证三星将更新其下一代Galaxy系列手机,还会推出包括GalaxyA14、GalaxyA54和GalaxyA34等多款智能手机。在最新曝光中,GalaxyA34的最新渲染图出炉,……解锁不一样的冬色橘棕色,坠入温暖冬季的颜色,除了它还是它!头条创作挑战赛Hello,大家好。我是小颜,一个爱吃爱美爱叨叨,更爱分享的文字闲话者;感谢每一位点阅的看官,欢迎各位来留言交流哦坠入温暖冬季的颜色,除了它还是它橘棕……手机掌上扫描仪会员解锁版,10大特色功能,快速扫描,精准识别扫描PRO是一款非常好用的掌上OCR识别工具,软件适用于安卓手机端,内置了文件扫描、文字识别、表格识别、证件扫描、拍照翻译、试卷去手写、老照片修复等10大特色功能,无需登录,所……香港教父向华强,曾经在香港叱咤风云,他到底是一个怎么样的人呢香港教父向华强,曾经在香港叱咤风云,他到底是一个怎么样的人呢?香港的电影,自从八十年代以来,就已经成为了电影业的一个热门话题,而向华强的名字,更是如雷贯耳。不过,人……困扰天文学家100多年的白洞到底是什么?它真的存在吗?(全文约2000字,看完需2分钟)2019年,人类拍摄到M87星系的超大质量黑洞,这是黑洞这一空间概念诞生100多年来人们首次看到它的真面目;而几乎与黑洞同一时期诞生的概……
友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找