在程序员眼里CPU应该是什么样的?
CPU是什么东西?
我们先来说CPU的全称是什么,英文名字 Central Processing Unit(中央处理器 )的缩写,相当于计算机的大脑,它是数百万甚至数亿的晶体管构成的,这是大家都知道的计算机常识,但是作为我们计算机技术爱好者或者是程序员来说,只知道这些就太少了。我今天想带大家了解的是关于CPU是如何运行的,里面都有一些什么功能。
CPU原理图

首先我们看一下这张图,图中还是很详细地给我们画出了程序执行的过程。刚刚我们也提到了我们的CPU是由很多的晶体管组成的电子部件,我们的内存也是,通常称为IC(Integrated Circuit),我们从CPU的原理图中来看,构造还是比较简单的对吧,有存储单元(寄存器)、运算单元(运算器)、控制单元(控制器),各个部分相互配合信号和数据在各个部分流通就可以完成我们所有的计算机操作,接下来我们看看我们每一个部分的工作都是做一些什么。

寄存器:可以用来暂存指令,数据等一些需要CPU处理的对象,你可以看作是内存的一种但是寄存器读写速度比内存要快很多,为了提高我们的效率根据不同的需要有些CPU内部会有20~100个寄存器。
控制器:负责把内存上的指令,数据读入到寄存器,并且根据指令执行的结果来控制整个计算机的行为。
运算器:运算器负责运算从内存读入寄存器的数据。
在这里我还要补充一个原理图中没有的模块,那就是CPU的时钟模块,我们的时钟模块负责发出CPU开始计时的时钟信号,这里我们要做到如果时钟信号 Pentium 2GHz 那它代表的意思就是时钟信号的频率为2GHz(1GHz=10亿次/秒)你可以理解时钟信号频率越高CPU运行速度越快。不过有的计算机时钟位于CPU的外部,所以我们刚刚的原理图里面没看见这个模块。
程序跑起来的流程

现在大家看完这些是不是觉得很神秘的CPU也是比较简单的构造,他可以做的我们都可以做,但是有一点他的计算能力不是我们凡人可以拥有的。程序运行以后,根据时钟信号,控制器会从内存中读取指令和数据,通过这些指令介意解释和运行,运算器就会对数据进行运算,然后我们的运算结果由控制器控制计算机做出相应的动作。
深入探讨
接下来我们就要很专业地去深入了解一些东西了,如果下面的比较枯燥无味你建议你到此为止,了解一下基本就OK了,但是你想更深入的探讨那就来吧。
我们讲到我们CPU是由寄存器,运算器,控制器,时钟信号组成的,其实我们需要深入地了解的是我们的寄存器,为什么呢?这是因为我们的程序是把寄存器作为对象来描述的。

我们在使用高级语言进行代码编译的时候在编译的时候都会转化为机器语言,然后通过CPU的内部寄存器来处理,比如我们写这样一条代码:A=1+2;这样的高级语言代码在转化成机器语言后就是利用寄存器来进行相加运算和存储处理的。
刚刚也提到过在外面CPU中有很多的寄存器,功能和数量都是不一样的,但是我们还是可以将寄存器大致划分成八类:

对于我们程序员CPU是什么呢?CPU是由各种功能的寄存器集合体,其中程序计数器,累加器、标志寄存器、指令寄存器和栈寄存器都只有一个,其他的寄存器是可以有多个的。
程序计数器
这里我们挑其中一个来细说一下工作原理,我们的程序计数器决定我们我们程序的流程,我们举一个简单的函数调用机制来说明一下程序的执行流程,

我们C语言程序程序代码中定义了两个变量a=123 b=456 然后把它做为参数传递到啊函数MyFunc()里面。从内存地址中我们发现当程序运行到地址0132的时候接下来应该执行函数体,我们函数体入口的地址在0260,这时候我们通过跳转指令把程序极速器的值设定为0260就可以实现函数的调用。我们把a、B的数据从地址0132传递到0260可以利用内存或者寄存器来实现。
我们需要知道的是当程序调用完函数后,我们需要在函数的出口0354地址处把程序计数器的值改成原来的0154,这样才会回到原来的下一条指令。但是其实我们根本没办法完成这样的操作。那我们怎么办?我们可以通过call指令和return 指令来解决。我们来看看两种指令的原理:

在编译高级编程语言的程序后,函数调用的处理会转换成call指令。函数结束处理时候就会转换成return指令,这样一来我们程序就可以运行起来了。
总结
分享到这里感觉后半部分的知识点还是比较生涩,可能没很好地理解,但是还是坚持写完了,要敢于迈出第一步,可能第一次写不明白那就第二次,同样如果你第一次看不明白那就看第二次总会有一天忽然开朗熟记于心。我们需要保持一份对技术的热爱。

-
那么导致外溢的原因是什么呢?正确的操作步骤是怎样的?阳姐我来给大家分析分析。1、按食谱或说明书选择对应的功能五谷浆、倍浓豆浆-----适合打各种五谷杂粮、豆类米糊、滋补糊 -----适合打五谷杂粮、各种米类养生粥、杂粮粥-----适合做五谷杂粮炖煮-----适合做长时间熬煮的食材2、按说明书食谱用量[详细]
-
1、我们先看压缩机,压缩机消耗电能,把电能转化成机械能。压缩机吸入低温低压的过热气态冷媒(10℃),排出高温高压的气态冷媒(70-90℃)。注意,这里排出的气态冷媒也是过热气体,如图所示,排出口压力为2.96MPa,这时对应的冷凝温度(饱和温度)为50℃,如果这时排气温度为70℃,那么说明压缩机排气[详细]
-
刺槐木材硬度十分高刺槐(Robinia pseudoacacia L.)是豆科刺槐属落叶乔木。属于阔叶环孔材。相对密度0.77。材质坚硬,有韧性。硬度为7.刺槐原产北美洲,17世纪被引入欧洲,20世纪初由德国引入山东胶州栽培。刺槐因为是由西洋引进,故百姓称之为洋槐,其叶柄上有刺,所以叫刺槐。刺槐颜色[详细]
-
黑色家具容易落灰,可能是在打扫的时候,摩擦起电造成的,这时需要用清水里适量地添加中性的柔软剂,将抹布打湿后,重新擦拭黑色家具,这样可以缓解容易落灰的情况,还可以摆放植物去除空气中的灰尘,不用的黑色家具,可以用报纸包裹起来。黑色家具容易落灰的解决方法黑色家具容易落灰,一般是在打扫环境卫生时,抹布与黑色[详细]
-
KTV分两种模式:一个是量贩式的。一个是夜总会形式的!量贩的就是大众化的K歌没有小费!公司是靠K歌时间来收取包厢费而赚钱!服务员就拿点工资1000左右没其他小费的!这个赚不到钱但比较稳定一点!夜总会式的就比较复杂!但赚的钱是没有底的高的一个月能拿到上万也有可能去那里的都是有钱的老板。夜总会都有小姐![详细]