粉丝85.5万获赞419.0万

一条会编指令是怎么被 cpu 执行的呢?首先我们这一条指令是放在内存里面的,因为我们的 pc 保存的是下一条指令所在的内存地址,当我们想要执行下一条指令的时候, 将该地址传递给内存,然后内存就通过数据线返回我们需要的数据了。举个例子, pc 当前为幺幺二三,内存幺幺二三出,保存的指令 a 点一百二十, cpu 通过地址线将 pc 的值传递给内存, 内存拿到地址一看,哦,原来你要地址幺幺二三出的东西,然后内存便将数据通过数据线传送给 cpu。 cpu 拿到这条指令,总得先找个地方把指令保存着吧。所以 cpu 就有了 一个叫做 r 的寄存器,用来保存我们需要执行的指令。保存完成之后, cpu 就开始翻译这条指令了。 cpu 翻译完成这条指令, 就知道你想做的事情就是先取出二一的内容所指的储存单元的数据,然后取出寄存器二零的值,通过由相加, 最后将结果送回二一的内容所指向的内存单元中保存。翻译阶段过后, cpu 就知道该做什么了。 比如说我们这时候二一寄存器的内容为二二三四二零寄存器的内容为三,内存中地址二二三四对应的内容为四。同时我们还有个阿鲁可以用来做加法操作。大家可以看到,二一二零以及奥丘路口的输出都是连 接在一条线上的,所以二零的出口,二一的出口以及欧陆的出口都需要安装一个门。此处为形象起见,只有门开了,数据才会跑进来和传出去,绿色代表门打开,红色代表门关闭出示状态,大家们都是关闭的,所以都是红色, 然后开始执行,首先要根据 r 一找到主存中对应的位置,所以可以将 a 一的二二三四通过地址线传递给内存, 具体怎么传呢?首先打开红色门,一盒红色门板,然后二二三四就沿着线传递到数据线,然后交给内存了,做完之后我们的门又得关上了,然后内存便根据地址二二三四中获取到对应的内容。打开红色门九 和红色门三,这样数据四通过数据线跑到了我们的暂存器中,关闭门三和九,然后这时候我们有一个阿鲁,这是什么东西呢? 简单来说就是输出两个数,我们可以进行一些算数运算,然后输出结果,第一个运算数字已经放到了欧陆的一个输入端了,我们只需要同时打开红色门二,门五,门四和门六, 然后再给阿鲁施加一个加法信号,结果维基便会直接输出到暂存性,那么我们再将所有的门复原, 最终我们需要将我们的数据输出到储存,只需要打开七号门和九号门,这样我们的数据漆就通过总线流到了数据线,然后内存这时候还是保存着对应 r 一的内容, 也就是地址,所以当我们的数据期传递到数据线时,内存就会将该数据写入到地址二二三四中了,也就是我们地址二二三四的只变成了七。指令完成,我的任务也完成了。


我问大家一个问题,你觉得我们现在这个 cpu 里面,他每一条指令都是由这个纯硬件电路来完成的吗?你觉得是吗?那如果觉得是就打个一,你觉得不是的话,打二,如果这个指令都是纯硬件电路来完成的, 那实际上就会有一个严重的问题,大家能不能意识到,就如果我们这个 cpu 里面,我们这个功能非常复杂的这样一个 cpu, 对 吧?比如说我们这英特尔的这个 cpu 已经到达多少代了?然后我们这个 cpu 啊,它的功能已经极其复杂了, 我可能一条指令我可能会做一千件事,就是这条指令啊,实际上非常强大,他这个非常的复杂,一条指令我可能去做一千件事,那这样的话对应的是我这个 cpu 的 性能会非常高,对吧?但是他也会带来很大的问题, 就是如果我这个非常复杂的指令哈,如果他是完全由硬件电路来完成的,那么这个一列电路, 你能不能保证这么复杂的这个指令,他的这个电路没有任何的问题呢?如果你是芯片设计者的话,你能不能保证 如此复杂的一条指令啊?如此功能强大的一条指令,他一条指令执行可以做 n 件事,几千件事啊。那么你觉得你这条指令如果用纯硬件来实现的话, 你能不能保证这个硬件实现的这个指令在实现上面没有任何的 bug? 如果你不能保证的话,这里就很大的问题。什么问题啊?就是就算是你能够在这个指令上面,你用这个纯电路去实现这个非常复杂指令的话,你也不能保证你这个芯片在加工的过程中, 这个芯片内部的电路不会出现任何问题,能明白吧?那一旦有瑕疵的话,我这个指令是不是就废了? 那么除非你能保证这个硬件的电路没有任何问题,你在设计的时候,或者说你在加工的时候,这个芯片的电路也不会有任何问题,你才能去非常理想的去实现这个指令。 那实际上我们这个芯片的这个良品率就会非常低。比如说我这一个晶源哈,我一次可以出一百个芯片, 那么每一百个芯片的话,我这个里边因为一些瑕疵导致我的一些电路就会出现问题,然后导致我的很多的指令哈都不能执行,那这样的话,我这个金源里面可能一百个电路里面我只有只能出那个十个好的电路, 这样的话成片率是不太低了,对不对?所以说我们这个芯片的设计者提重方法,什么方法叫做微代码,方法叫做微指令。

作为一个程序员,你可以不懂会编,但是你必须得清楚 cpu 是如何认识并执行你代码的。大家都工作在高级语言上面,你不关心于内存,也不关心于 cpu 计算器,对吧? 但是实际上对于底层会边来说,对于机器指令来说,操作的就是计算器,就是内存。那假设我们现在要实现一个简单的加法,我们现在来应会边实现一下。我们创建一个文件多斗点 s, 我们定一个麦函数程序,要有一个入口,函数里面有一个入口地址。 那我们要实现加法,两个数相加。假设我们要实现三加二等于五对吧?那我因为我们在 cpu 里面这个会编指令里面我们操作的就是计算器。 所以我们先需要一目子令,我们来把一个数送到一个计算器里面去。假设我们现在要把三送到一 x 这个计算器, 那我们就这么做。然后我们现在还有另外一个操作数对吧?找到另外一个操作数,我们放到 e b x 这个基本心里面去三加二。然后我们现在掉以 a 的这个指令来对 e x 和 e b x 相加, 那相加完以后他们之间的结果会存到 ex 这个基层清远区。那么现在 ex 里面就有两个操作数相加的结果了。那我们再返回 函数,返回的时候时间会把 ex 里面的值也返回回去,所以我们在外部就可以把这个值给打印出来。那么现在我们的会编代码就已经写完了,我们现在来保存一下。接着我们用会编器来对我们的代码进行会编, 会变以后在这个下面会生成一个抖抖点 o 这样一个文件。然后我们现在通过 gcc 秘密,我们现在来对这个 o 进行链接,让他输出一个可直性文件。假如说可直行文件,我们就叫 低吧,随便取个名字。 ok, 那我们现在在这个目录下就已经生成了一个可直行文件。低。那么现在来执行这个低, 二加三等于五,我们现在正确的拿到了这个二加三等于五的结果。那下节课我们就来详细讲解 cpu 是如何执行你代码的。

cpu 里的空间是非常小的,不足以存放太多的指令和数据,所以就把指令和数据放在内存里,让 cpu 自己去拿。 图中有个程序计数器的寄存器,里面存放的是指令所在的内存地址, cpu 就根据这个地址来取指令,取完之后,程序计数器的内容会自动加益,所以下一次 cpu 会从后一个地址取指令。 由此可见, cpu 是顺序执行指令的,除非遇到跳转指令,会修改程序技术器的内容。 zpu 取到的指令会放在指令寄存器中,通过指令一码器分解成微指令,继而控制微操作,控制器发出微操作,象图中的 c 一、 c 二、 c 三皆是微操作, 这些微操作会控制系统总线的开关,来达到控制数据流动的目的。比如从内存拿到的数据可以流动到通用寄存器中,在流动到算数逻辑单元中进行运算, 运算的结果还可以在总线上流动,甚至写回内存里。因为 cpu 的速度非常快,而内存的存储单元是电容,充放电需要时间,相对 cpu 会慢很多,所以 cpu 和内存之间需要缓存,就是图中所说的 cash。 好了,如果你是个初学者,结合我的上个视频,应该知道程序是怎么运行的了吧。关注我,了解更多编程知识!

什么叫做微指令啊?或者说叫做微代码,微代码就是用来去弥补这些问题的,就算是你的电路上面不完美,就算你的加工上面有问题,我仍然能够通过我芯片内部的微代码能够把它给微闭掉。比如说我现在 这个叉八六的 cpu 里面,我有一条非常强的 指令,这张指令在执行的时候可以去做一千件事情,第一件事情 木什么什么什么。第二件事情木什么什么?第三件事情 a、 d、 b 什么什么?第四件事情 sub 什么什么什么啊?第五件事情,然后又木什么什么 ok, 这些就是一系列的子操作, 我只要是执行这一条复杂的指令,我就会去执行一系列的子操作。 我们这个叉八六,你们的这个 six 指令及你们的这个非常强悍的这个指令,它是由很多基本的指令所堆起来的。 我这样一条指令实际上他是会去执行很多基本操作的,比如说做一些什么计算器的访问啊,或者做一些什么硬件的调用啊,或者做一些什么基本的预算啊,这些东西他会去做一系列的这样的基本操作。那这样的话,如果我哈 这一条这个指令因为我的生产上面导致问题,那这样的话,我如果在某一天这一个指令突然爆出有 bug, 如果这个 cpu 是 完全由硬件来实现的,那我们这个 cpu 就 直接废了。如果我这个 cpu 里面,它这些复杂的指令集只是由它内部的一套微代码来进行一个总体的一个调用的话, 那我是不是就可以直接把这个指令所对应的那个微代码, 重新去编辑个微代码,比如说这条代码有问题,我直接把这块给绕开,这块 bug 点我直接把它绕开,从这块绕开,对不对?那这个时候我是不是就可以通过给 cpu 去打补丁这种方式我就可以直接去规避掉我的 cpu 里面的一些指令级的 bug 呀? 大家能不能理解这个就是我们的 cpu 的 指令级的叫作微代码 啊,通过微代码实际上它调用了很多的基本的操作,然后形成我们对外的一个更为复杂的很强悍的一个指令,明白吧?就是我们 fisk 的 一些通用的做法,我们经常会发现,就是我们的叉八六的芯片,比如说英特尔的芯片, 或者是 amd 的 芯片,或者是其他的什么芯片,它们的这个 cpu 里面会爆出一些 bug, 怎么去修复这些 bug 呢? 它们通常是直接去升级 bios, 或者直接去升级 windows 这样的一些系统,升级这些系统, 那这些系统的话,他们在安装的过程中,他们会直接去把 cpu 的 内部的微代码直接给刷掉,他们会把这个微代码直接集成在它的 bios, 或者是新一版的那个已经改善了那个问题的操作系统里面, 在操作系统运行的过程中,会把那个 cpu 的 内部微代码直接给刷掉。所以说 cpu 里面实际上它并不是纯硬件的, 尤其是 cisco, cisco 并不是纯硬件的电路, 它里面是可能会有微代码的。然后我们这个微代码这里面它包含了一系列的基本的操作,然后对外提供一个指令,一个复杂指令,这大家明白了没有?

两种超级简单的 cpu 超频方法,第一种我们可以去下载一赠 oc 这个软件,现在他的官网呢是在驱动人身官网里面就可以下载到,安装好了之后呢我们重启一下,接着呢我们点击一键超频,他就能自动将你的 cpu 超频制一个相对稳定且保守的一个频率。 我这个幺二七零零 k 呢,经过超频从全合四点七 g 达到了四点九 g, 提升了零点二 g, 从 cpu 杠 c 的跑分当中我们就能看出,对比超频前呢单核提升了百分之三,多核提升了百分之四,那如果你想关闭的话,一键呢也就可以关闭,非常的方便。那这个软件呢,他也是有缺点的, 默认他给的电压呢是相对较高的,对散热器有一定的要求,不过他是白嫖的,性能啊,还是很舒服的。那这个钞票方法呢,是比较稳定且安全的,适合完全不想折腾的小白用户。那如果你还想更进一步的话,随着我往下看, 我们可以去英泰尔官网去下载 xtu 这个软件,下载好之后呢,我们打开 xtu 左上角,第一项呢是系统信息,它会显示电脑各个硬件的参数,这里呢我们看看就行。 第二项呢是基础超频,但是这里呢不能调节电压,基本上就是哄人玩的,我们直接忽略。那第三项呢就是我们这次超频需要调整的一些参数。首先呢我们将处理器的最大电流以 以及 pl 一, pl 二公号强和 pl, 一时间这四项呢都能拉满,这几项呢也就相当于在 boss 里解锁了公号墙。接着呢我们就可以去调整 cpu 的频率以及电压了,我这个幺二七零零 k 呢,我打算保守一点, p 盒呢,也就是大盒设置为全盒五点一级,一盒小盒,把全盒拉到三点八 g。 第二这里呢,我们先拉到一点三幅,我们点击应用。接着呢,你可以使用 nw 四进行考级测试, 顺便呢看一看温度,如果在测试过程当中没有出现蓝屏死机,浅温度能压住的情况下啊,可以适当的去提高 cpu 的频率,或者呢是降低一点电压,从而获得更高的一个能耗笔。 那如果你在测试过程中出现了蓝屏死期,也不用担心重启之后呢,我们打开 xt 软件,适当给他加点电压,这里建议每次加电压以零点零二无去加英塔尔的 cpu 安全电压呢,是在一点四伏以内。 每次调整完低压之后啊,这里建议进行阴大六四烤鸡测试啊,要看看温度的一个情况,如果温度过高或者是出现难免死机啊,那就请降低零点一 g 的 cpu 匹配, ok, 那以上呢,就是 cpu 超频的全部内容了,如果对你有帮助的话,别忘了点赞关注加收藏。

今天给大家分享一下 cpu、 mpu、 mcu、 s o c 的概念与应用领域。 cpu 是 central processing unit 的缩写, 是中央处理器,作为计算机系统的运算和控制核心,是信息处理程序运行的最终执行单元。众所周知的三级流水线取纸密码,执行的对象就是 cpu。 cpu 从存储器或高速缓冲存储器中取出指令,放入指令计存器, 对指令密码,然后执行指令。计算机、移动端服务器、智能汽车领域都需要 cpu, 经常听说的英特尔、 amd、 苹果处理器都是。 mpu 是 micro processor unit 的缩写,指微处理器。微处理器通常代表功能强大的 cpu, 这种芯片往往是计算机和高端系统的核心。 cpu、 机顶盒、 智能安防、智能家居、智能车载,这些都是要靠微处理器 m p u 处理,国内华为、海资、星辰、瑞鑫微等都是生产 m p u 厂商。 m c p u 是 micro control unit 的缩写,职位控制器其实就是我们平常说的单片机。单片机指的是把 c p u 的频率与规格进行缩减处理,并将内存、计数器、 usb、 aid 转换、 urd、 dse、 dma 等周边接口,甚至 lcd 驱动电路都整合在一块芯片之上,形成芯片级的计算机,为各色的应用场合提供各种组合控制,就比如手机、遥控器、 pc 外围,又或者是汽车电子工业上的不禁马达、机器、手臂的控制灯 都离不开 m c u 芯片。 s o c 是 system one chief 的缩写,指的是片上系统,即在一块芯片上集成一整个信息处理系统。 简单来说, soc 芯片是在中央处理器 cpu 的基础上扩展音视频功能和专用接口的超大规模集成电路是智能设备的大脑。如果在 pc 时代,我们说一个电脑的核心是 cpu, 那么在智能终端时代,手机的核心就是这个 soc。 市面上常听到的高通骁龙和华为麒麟芯片都属于 soc 芯片 gpu, gpu 的频率会很大程度影响手机性能,频率越高,速度越快,体验越好。关注我,了解更多元器件知识!