cpu架构与指令集

  1. cpu十大基础知识

cpu十大基础知识

cpu架构与指令集

一、主频,我们常在CPU的参数里看到 2.9GHz、3.6GHz等就是CPU的主频,严谨的说他是CPU内核的时钟频率,但是我们也可以直接理解为运算速度。举个有趣的例子:CPU的主频相当于我们胳膊的肌肉(力量),主频越高,力量越大。

二、核心,我们更多听到的是,这个CPU是几核几核的,如2核、4核、6核、8核、16核等等。这个核心可以理解为我们人类的胳膊,2核就是两条胳膊,4核就是4条胳膊,6核就是6条胳膊。

三、线程,光有胳膊(核心)和肌肉(频率)是干不了活的,还必须要有手(线程)才行。一般来说,单核配单线程、双核配双线程或者双核四线程、四核八线程等等,就相当于一条胳膊长一只手。后来由于技术越来越厉害,造出了一条胳膊长两只手的情况,这样干活的效率就大大的提高了。

四、架构现在胳膊有了,肌肉有了,手也有了,就差一个工具就可以干活了,这个工具就是CPU的架构,架构对性能的影响巨大。新老架构区别很大所以说有句话叫“抛开架构看核心、频率都是耍流氓!”这就是为啥以前AMD的CPU虽然核心数量和频率都比同时期的英特尔高,但是依然流传着“i3战A8,i5秒全家、i7轰成渣”这样的说法了。这个时候可能有的人不理解了,怎么看架构呢?这个其实不用担心,因为一般来说,每一代CPU的架构都是一样的,比如i3-9100F、i5-9400F、i7-9700都是9代的CPU,使用的架构也是一样的,现在官方店在售的也都是最新款,因此架构主要看最新一代处理器就够了。五、缓存

缓存也是CPU里一项很重要的参数。由于CPU的运算速度特别快,在内存条的读写忙不过来的时候,CPU就可以把这部分数据存入缓存中,以此来缓解CPU的运算速度与内存条读写速度不匹配的矛盾,所以缓存是越大越好。参数就算是说完了。既然开头就说了“CPU也跟人脑一样,术业有专攻。”那接下来就分析一波,什么样的U适合干什么样的工作。

1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。

当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解码、执行,以此类推直到程序退出。

2、这个取指、解码、执行三个过程构成一个CPU的基本周期。

3、每个CPU都有一套自己可以执行的专门的指令集(注意,这部分指令是CPU提供的,CPU-Z软件可查看)。

正是因为不同CPU架构的指令集不同,使得x86处理器不能执行ARM程序,ARM程序也不能执行x86程序。(Intel和AMD都使用x86指令集,手机绝大多数使用ARM指令集)。

注:指令集的软硬件层次之分:硬件指令集是硬件层次上由CPU自身提供的可执行的指令集合。软件指令集是指语言程序库所提供的指令,只要安装了该语言的程序库,指令就可以执行。

4、由于CPU访问内存以得到指令或数据的时间要比执行指令花费的时间长很多,因此在CPU内部提供了一些用来保存关键变量、临时数据等信息的通用寄存器。

所以,CPU需要提供 一些特定的指令,使得可以从内存中读取数据存入寄存器以及可以将寄存器数据存入内存。

此外还需要提供加法、减、not/and/or等基本运算指令,而乘除法运算都是推算出来的(支持的基本运算指令参见ALU Functions),所以乘除法的速度要慢的多。这也是算法里在考虑时间复杂度时常常忽略加减法次数带来的影响,而考虑乘除法的次数的原因。

5、除了通用寄存器,还有一些特殊的寄存器。典型的如:

PC:program counter,表示程序计数器,它保存了将要取出的下一条指令的内存地址,指令取出后,就会更新该寄存器指向下一条指令。

堆栈指针:指向内存当前栈的顶端,包含了每个函数执行过程的栈帧,该栈帧中保存了该函数相关的输入参数、局部变量、以及一些没有保存在寄存器中的临时变量。

PSW:program status word,表示程序状态字,这个寄存器内保存了一些控制位,比如CPU的优先级、CPU的工作模式(用户态还是内核态模式)等。

以上内容是万老网对cpu架构和指令集的问题就介绍到这了,希望介绍关于cpu架构和指令集的1点解答对大家有用。

cpu架构与指令集