简述CPU执行过程

CPU是计算机系统的运算和控制核心,负责信息处理和程序运行。

简单来说,CPU的工作模式就是从主存储器取指令,将指令使用解码器进行指令译码,对取回的指令进行拆分和解释,识别和区分出不同指令类别及获取操作数的方法,译码后进行指令执行,完成指令规定的各种操作,实现指令要求的功能,因此这个阶段CPU的不同部分会被连接起来以执行所需要的操作。例如:要求完成一个减法操作时算数逻辑单元(ALU)就会被连接到一组输入和输出,输入端提供相应的数值,输出端输出最后的运算结果,具体过程如下:

CPU访问主存进行读取(访存取数) -> 根据指令地址码得到操作数在主存中的地址 -> 从主存中读取这个数据用于运算 -> CPU将结果写回存储器中(通常被写到CPU的寄存器中,方便被后续的指令快速取用) -> 如果没有意外情况,例如结果溢出等情况,CPU就去接着取下一条指令继续干活

CPU组成部分

CPU的核心由大量的运算器、控制器和寄存器组成。

运算器:负责算术运算(加、减、乘、除、平方、开方等运算形式)和逻辑运算(布尔运算,以二进制为基础检测真假值,例如我们所知的循环处理)

控制器:负责调度,让所有的运算工作调度运算器好好干活

寄存器:一是接受控制器指令将命令传达给运算器,二是帮助运算器记录已经处理或者将要处理的数据。

周期概念

CPU一般都可以同时取出译码和执行多条指令,所谓进行并行处理,在CPU干活时有几个和时间相关的概念:

指令周期:CPU取出一条指令并执行该指令所需要的时间,时长和指令的复杂程度有关。

CPU周期:机器周期,指令周期通常用若干个CPU周期数来表示,通常用从主存读取一条指令的最短时间来规定CPU周期。

时钟周期:一个CPU周期包含若干个时钟周期,时钟周期是操作处理的最基本时间单位,由CPU的主频决定,主频越高速度越快(主频代表单位时间内的时钟周期数,时钟周期数越多主频越高),主频的高低一般和芯片的制程工艺有关。

zabbix如何获取windows cpu信息的_时钟周期

指令集和操作系统的关系

指令是计算机运行的最小功能单位,是CPU工作的基础,通常包括指令格式、寻址方式和数据形式等。CPU指令集就是CPU中用来计算和控制计算机系统的一套指令集合。操作系统建立在处理器上层,指令集向操作系统定义CPU能干什么、怎么干等。操作系统利用处理器的指令集来进行硬件管理和资源抽象,并限制程序只能按照它认可的方式编译才能运行,因为它了解指令集,因此不同指令集匹配的是不同的操作系统。比如intel的x86对应的是Windows,安卓对应的是ARM,不同的操作系统运行的软件不同,例如安卓软件在苹果手机上就不用了。

指令集一般分为复杂指令集CISC和精简指令集RISC。简单来说复杂指令集架构的CPU就是用复杂的CPU设计去换取更高的性能,因为硬件需要完成复杂指令集的实现,而精简指令集架构的CPU在简化了指令集的同时也完成了CPU硬件设计的简化,将复杂度转移给了编译器。精简指令集简短,标准等长,复杂指令一条就能干的事,用精简指令可能要分成多条,且多条等长,因此用于精简指令集CPU架构对应的软件代码密度不高,可执行文件的体积也比较大,同时也占用更大的内存和内存带宽(单位时间内可传输的数据量),这也是为什么同样功能的软件,在手机上比在电脑上使用内存更大。此外,一般手机不像电脑一样同时开n个程序,因为手机程序开多了之后,内存和寄存器或者高速缓存之间大量传输数据,带宽吃紧,本来精简指令集架构就吃带宽,能省则省。

zabbix如何获取windows cpu信息的_运算器_02

 

zabbix如何获取windows cpu信息的_指令集_03