作为一个程序员,CPU的这些硬核知识你必须会!
CPU的大部分都是寄存器
上面说了CPU其实由运算器和控制器两大部分组成,其实无论是运算器还是控制器,都离不开寄存器,可以说,CPU就是寄存器的天下,因此,对于CPU,一定要掌握好寄存器,CPU做的一些运算其实就是通过寄存器来实现的,可以看看这篇文章:一个程序在计算机中是怎么运行的?
先记住一句话:
我们使用的Java,python这些都是高级语言,编写的程序最终会转成机器语言,之后就会进入CPU运算,实质就是通过CPU内部的寄存器来做相应的处理的
寄存器
这个是我们需要掌握的,寄存器这玩意,不同的CPU中含有的寄存器数量和种类都不同,不过大体有如下几种寄存器,按照功能来分的
另外其实就可以把CPU理解为是寄存器的集合体,然后你需要知道程序计数器,累加寄存器,标志寄存器,指令寄存器和栈寄存器只有一个,其他的寄存器一般会有多个。
说说这个程序计数器
为啥要说这个,因为这玩意决定着程序的执行流程,我们进一步来看看
比如看这个,这个表示的是两个数相加的操作,关于这个操作涉及到的数据和指令都保存在了内存中,而且每个数据和指令所在的内存单元都是有编号的,也就是内存地址,就是图中0100,0101那些,自上而下就是该操作的执行顺序。
上面也提到过,程序计数器是保存程序执行的指令的,准确说保存的是程序执行指令的地址值,怎么理解呢?也就是说程序的每一步操作,底层来说都是有一系列指令对应着的,这些指令就是表明这一步该怎么操作,比如a+b这个操作,加载进内存后就是对应着一系列的指令。
首先就是一个指令,表明要把a这个数值做相加操作,需要先把a保存到累加寄存器,而这个指令被保存在内存中的一个内存单元中,这个内存地址比如说就是0100,而此时程序计数器就是保存的这个0100内存地址,要执行程序的时候,CPU去看看程序计数器保存的第一个地址,发现是0100,然后去内存这个0100的位置,看看保存的是啥,一看是一个指令,分析指令,原来是要把0105地址中的值保存到累加寄存器中,然后就开始干活……
所以说啊,程序计数器其实我是决定管理程序的执行流程的
CPU是如何做比较的
这个也需要了解一下,CPU的比较其实就是再内部做减法运算,什么意思呢?比如要比较a和b,就是再内部做一个a-b的操作,然后依据得到的结果来对a和b做比较,这里面肯定是要借助寄存器来完成,比如得到的结果就会放到标志寄存器中。
CPU做的事其实很简单
我们在之前的文章说过,CPU其实主要就是干如下的四件事情:
从内存中读取数据,然后放到寄存器中
把寄存器中的数据写入到内存
进行数学运算和逻辑运算(加减乘除,AND,OR)
依据相应的条件进行跳转,执行其他指令(一条指令跳转到另外一条指令)
我们知道,CPU是依据指令做事情的,为什么CPU只做上面的四件事情,主要就是看CPU 能执行的机器语言指令有哪些,主要就是如下这些
这么一看,CPU能干的事也没有那么复杂啊。
CPU指令执行过程
经过上面的讲解,我们应该知道CPU就是看指令做事情的,那么关于指令,CPU又是怎么操作的呢? 我们要知道的是几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个步骤:取指令、指令译码、执行指令、访问取数、结果写回。
可能你不懂了,没啥,其实不就是这五个步骤嘛,搞清楚他们不就ok,接下来咱们来看看:
第一:取指令
字面意思很好理解啊,不就是拿到需要的指令嘛,那么指令在哪嘞,必须是在内存啊,也就是需要从内存中取出我们需要的指令,然后干嘛,不就是把指令放到CPU中的寄存器嘛,这个取指令就是这么一个过程。
第二:指令译码
这个是不是很快想到我们上面说的指令译码器,这个不就是对上一步拿到的指令做分析嘛,干嘛要分析,我得看看你这个指令到底要干啥啊,不然CPU怎么干活嘞
第三:执行指令
这个不就更好理解了,就是开始干活啦,实现相应的功能了
第四:访问取数
直观上好像没有那么好理解,其实啊,说的就是,我们根据上面的操作,有可能需要从内存中去拿数据,啥意思嘞,要知道,内存存放的是数据和指令,比如执行a+b的操作,我们得到相加的指令,对于a和b都是操作数,它们也是存放在内存中的,是不是也需要去内存中去拿到它们
看上面那个图,0100对应的指令是不是要去0105对应的地址中去拿数据123,这不就是访问取数嘛。
第五:结果写回
这又是啥,经过上面那么些个步骤,做的运算肯定得有结果啊,这结果咋弄,你不得保存在哪啊,通常是保存在CPU内部的寄存器中,一般是标志寄存器,这不是就是结果写回嘛
好啦,到这里,关于CPU的知识咱们就介绍的差不多了,当然,CPU的知识远远不止如此,但是作为程序员的你,最起码也得知道这些啊。
图片新闻
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.5立即观看>> 松下新能源中国布局:锂一次电池新品介绍
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论