关键词不能为空

当前您在: 主页 > 英语 >

23_作为一个程序员,CPU的这些硬核知识你必须会

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 10:39
tags:

-

2021年2月28日发(作者:tapered)


作为一个程序员,


CPU


的这些硬


核知识你必须会!



CPU


对每个程序员来说,是个既熟悉又陌生的东西?



如果你只知道


CPU(


central processing unit


)


是中央处理器的话,那可能 对你并没有


什么用,


那么作为程序员的我们,

< br>必须要搞懂的就是


CPU


这家伙是如何运行的,


尤其要搞懂它里面的寄存器是怎么一回事,


因为这将让你从底层明白程序 的运行


机制。



随我一起,来好好认识 下


CPU


这货吧



CPU


掰开来看



对于


CPU


来说,我们首先就要搞明白它是怎么回事 ,也就是它的内部构造,当


然,


CPU


那么牛的一个东西,构造一定是极其复杂的,毕竟是超高科技玩意,


所以啊,我们今天说 的组成什么的,都是指的主要的,对我们程序员有用的,需


要了解的那一部分,切莫抬杠 哦



首先嘞,我希望你先记住这句话:



CPU


所负责的就是解释和运行最终转换成机器语言的程序内容



另外啊,


说起


CPU



一定离不开内存,


在今天的 介绍中,


也会简单的说说内存,


因为后期也会单独出一篇讲解下 内存,


毕竟了解这些对我们程序员来说很重要的,


所以


CPU


和内存经常在一块来讲,他们其实是有很多的晶体管组成的,一般 称


他们为


IC(


integrated circuit


)


,也就是集成电路的意思。

< br>


接下来我们就来看看


CPU


的 组成,注意我之前说的,这里说的组成一般是指的


主要部分,毕竟


CPU


结构复杂。






我们需要知道的

< br>CPU


结构



重点需要关注寄存器



运算器



字面意思理解就是跟运算有关 的,


简单说就是负责运算从内存读取到寄存器中的


数据,


可以看作一个数据加工厂,


就是对寄存器中的数据做运算,

< p>
这些运算包含


基本的算术和逻辑运算。



然后对于运算器来说,我们要了解其中的几个重要角色,接下来我会挨个介绍:

< br>


算术逻辑单元(


ALU



Arithmetic logic unit


< br>这个是运算器中重要的一个组成,


主要负责的就是对数据的处理,


从而实现对数


据的算术和逻辑运算


< br>累计寄存器(


AC




通常叫做累计器,是一个通用寄存器,这个有啥用呢?上面说的


ALU< /p>


,当


ALU


处理完算术运算或者逻辑运算 之后,会得到一个结果,这个结果就会保存在


AC


< p>


数据缓冲寄存器(


DR




这个


DR


也是存放数据的,


存放的主要是从内存读取过来的数据,


会暂时 存放在


这个


DR


中,这里就相当于内存 和


CPU


之间做数据传送的一个中转站,为啥会


有这个,大家都是到


CPU


和内存的速度是有很大差别 的,中间引入一个


DR



一定程度上起 到了速度上的缓冲作用,不至于速度相差太猛



状态条件寄存器 (


PSW




这个貌似有点不好理解,首先寄存器还是保存数据的,所以


PSW


自然也是保存


某一类数据的,


它保存的主要是由算术指令和逻 辑指令运行或者测试的结果建立


的各种条件码内容,一般分为状态标志和控制标志,知道 就行



我们需要了解以上的这几个组成部分,

< br>这都是运算器的核心,


另外需要特别说一


下的就是它们每 一个其实都有一个英文缩写,比如


ALU


就是算术逻辑单元的意


思,


为啥要说这个嘞,


因为英文缩写毕 竟简便而且有逼格,


所以我们一般交流的


时候会说


ALU


而不是算术逻辑单元,因此,记住他们的缩写也很重要哦。

< p>


不然跟别人交流起来的话,别人一出口就是


AL U



DR


啥的,你很容易跟不上节


奏啊。




CPU


中的运算器有个基本认识以后,我们再来看看另外一个重要组成



控制




控制器



控制控制,

< br>也就是起到一个控制作用,


上面介绍的运算器只是起到了运算的功能,

< p>
但是控制器就比较牛,它是控制整个


CPU


的工作 ,对于控制器,一般要能够保


证程序的正确执行以及能够处理异常事件

< br>


同样的,对于控制器来说,我们需要重点关注如下几个:



指令寄存器(


IR




寄存器是保存东西的,指令寄存器自然就是保存指令的,也就是说

< br>CPU


要执行


一条指令的话,


需 要先把指令从内存上读取,


然后放到我们上面说的数据缓冲寄


存 器中,之后再从


DR


放到


IR


中,接着嘞,会有一个叫做指令译码器的东西根



IR


的内容生成很多的微操作指令,从而去控制其他部件已完成相应的功能

< p>


程序计数器(


PC


)< /p>



这个学过


Java

内存结构的应该了解,它保存着下一条要执行的指令,也就是说


当一个程序要执行的 时候,


会把这个程序的起始地址存到这个


PC

< br>中,


如果这个


指令被执行的话也不用担心,


CPU


会自动修改,使得


PC


存放下一条要执行的


指令



地址寄存 器(


AR




这个就是保存着


CPU


访问内存上的那一块内存的内存地址,为 啥要保存这个,


因为


CPU


和内存速度 相差比较大,所以


CPU


要保存着正在访问的那块内存的


地址,


直到内存的读写操作完成,


不然,


找不到之前访问的是哪个内存单元了啊



指令译码器(


ID


简单点就是对指令做分析的,看看你这个指令要干啥



不知道你有没有发现,


我们上面无论再介绍运算器还是控制器的时候,< /p>


都大量提


及寄存器,这足以说明寄存器的重要性,不是有句话说其 实


CPU


就是寄存器的


集合体,不过在 说寄存器之前,我们还是很有必要先来简单的看看内存。



简单说下内存(以后会单独说)



CP U


和内存总是分不开的,这里简单对内存坐下介绍,方便对


CP U


的理解,内


存自然而然是存储部件,


存储的是啥呢?一般来说,


就是数据和指令,


而且我们


常说的内存指的就是电脑中的内存条,


就是用来存储程序啊,

< p>
数据啊,


指令啊这


些东西。



形象点说,其实内存可以看作一个个的小格子,每个格子都是用来存储数据的,


而且每个格子还有编号,


也就是内存地址,


根据它可与拿到对应内存存储的数据,


还需要知道的就是,如果断电的话,内存中的数据 会被清除的。



CPU


的大部分都是寄存器



上面说了


CPU


其实由运算器和控制器两大部分 组成,其实无论是运算器还是控


制器,都离不开寄存器,可以说,


CPU


就是寄存器的天下,因此,对于


CPU



一定要掌握好寄存器,


CPU


做的一些运算其实就是通过寄存器来实现的,可以


看看这篇文章:一个程序在计算机中 是怎么运行的?



先记住一句话:


< /p>


我们使用的


Java


< br>python


这些都是高级语言,


编写的程序最终会转成 机器语言,


之后就会进入


CPU


运算, 实质就是通过


CPU


内部的寄存器来做相应的处理的

< p>






-


-


-


-


-


-


-


-



本文更新与2021-02-28 10:39,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/680427.html

23_作为一个程序员,CPU的这些硬核知识你必须会的相关文章

23_作为一个程序员,CPU的这些硬核知识你必须会随机文章