让小朋友懂一些计算机(六)|CPU的运行、时钟、超频

CPU(Central Processing Unit )是怎么执行命令的

CPU负责执行程序,任何在电脑上运行的软件都是由一条条的操作指令形成的,无论是你上网浏览网页,还是打开office软件,还是打英雄联盟,在CPU看来,这都是一条条操作指令。不过有些读者就会发问了,为什么有些软件那么大,CPU还可以执行呢,首先CPU的速度非常的快,每秒可以执行的指令说得上是上千万条。其二,非常大的程序在运行的时候并不是全部运行,可能只仅仅运行一小部分的内容。

取指令 -> 解码 -> 执行这个循环

取指令 、解码、执行是CPU一直在做的事情。那么,到底是怎样的呢?

我在这里很简单很简单地介绍一下这个循环。首先说一下内存,这个我们前面说到过,内存里存放着数据和操作指令,因为计算机只知道0和1,所以操作指令也是二进制数。

取指令

首先CPU会通过指令地址寄存器中的地址的来找相应的内存地址中的内容(现代计算机启动之后,CPU首先会取一个特定地址的内存内容,这个地址是操作系统程序的起始地址。操作系统也是程序哦,它也需要被CPU执行),然后将其送到指令寄存器中,指令寄存器是CPU的一个组件。例如取内存中地址为0号的内容,里面放着的是00101110。

解码

解码的逻辑电路

00101110对CPU来说意味着什么,它不知道,只有我们人类才知道,我们设计了这个一串数字的含义。在CPU的内部有一张指令对应表来对应二进制数和操作指令的关系,一个数字对应一种指令。控制单元会把这一串数字拆分,前面四位代表的数字会被和CPU内的指令对应表作比较,发现数字对应的指令,这也是通过逻辑电路来进行寻找的。

执行

CPU大致的结构

上一步的解码已经知道了这一串数字代表了什么,那么他将会激发特定的逻辑电路,执行特定的操作,或许会将数据存放在CPU的寄存器中,或许会与其他数相加。

时钟是什么,时钟速度和赫兹

时钟是控制CPU运行节奏的部件,就像龙舟上的鼓手一样,每当龙舟上的鼓手敲一下鼓的时候,水手则会跟着鼓手的节奏。这里也是一样的时钟以精确的间隔发送电信号。控制单元会用这个信号,推进CPU的内部操作。CPU完成一套“取指令解码执行”的速度叫做时钟速度,单位是赫兹Hz,1赫兹代表每秒1个周期。

超频和降频

一般现在的CPU都可以达到每秒1GHz到4GHz,也就是每秒10亿到40亿次时钟周期。

超频就是通过一些手段来提高CPU的时钟速度以此来提高CPU的运行速度,现代的CPU制造厂商一般都对CPU的时钟速度留有余地,因此Intel的某些处理器会有“睿频”这个功能,其实也是超频。

因此我们可以超一点频,但是有些极限爱好者,喜欢搞事情,因此会使用水冷或者液氮来超频(因为超频会产生大量的热量),但是也有极限,因为超频太多会让CPU的电信号跟不上时钟信号而导致乱码。

降频就是降低CPU的运行速度,就像人猫着步走路,虽然很慢,但是可以有效地节省电能。因此现代CPU一般采用频率动态调整技术,使计算机能够更好地为人类服务。

资料来源

特此鸣谢 The Crash Course