CPU的逻辑结构
CPU指的是处理系统软件和应用软件的处理器
计算机中有很多处理器,但只有处理系统软件和应用软件的处理器才被成为CPU,因此微处理器!=处理器!=CPU
冯诺依曼计算机基本原理——存储程序控制
提到计算机,我们就不得不提到冯诺依曼这个人,他提出的存储程序控制原理作为计算机基本原理即——存储程序和程序控制。通过运算器和控制器,CPU与外部设备相交互。
CPU组成——运算器,用于进行逻辑和算术运算,控制器用于控制运算器的操作,由指令计数器和指令寄存器组成,寄存器用于临时存放参与运算的数据和运算得到的结果
- 运算器就是我们平时用的计算器,只不过进行的是二进制的运算,其实就是个工具,像是大爹的工具队友,只是为了凑人数罢了.
- 控制器用来控制将运算器的结果放入寄存器中,相当于是打LOL的大爹,直接教队友做事。而控制器又由指令计数器和指令寄存器组成,指令寄存器存放指令本身,指令计数器存放指令的地址,也就是去根据地址找指令本身
- 寄存器就可以理解为存放LOL皮肤的数据库,新皮肤不断出现,老皮肤基本脱离人们视野,寄存器里存的东西也是不断变化的,在寄存器内没有什么是永久的(之后要讲到的缓存也是如此)
计算机并行处理——使用多个CPU进行处理
并行处理其实就是我们平时所说的多核,但多核并不是有着多个CPU,有着多个CPU的计算机,已经算是超级计算机,就算不是,也是服务器级别的了.现在手机,电脑普遍都有多个处理器,那么自然是处理器越多越好了。
指令和指令系统
指令是构成程序的基本单位,指令由操作码和操作数地址组成
一个程序中包含着许多指令,就可以理解为小时候学过的那个猫,通过各种各样的指令来实现各种程序.
其中操作码对应的是执行的操作是什么,也就是how
而操作数地址是where/who,翻译下来就是在哪里执行什么操作
指令的执行过程——取指令,指令译码,取操作码,执行指令,修改指令
就像上班,boss给你布置一个任务,你要先去他办公室听这个任务(取指令),接着把boss说的话转换为自己的话,因为他可能表面上说的和想表达的不是一个意思(指令译码),再分析出boss要你做的事情(取操作码).再执行这个任务(执行指令),最后修改这个指令,或者说,进行下一个指令(修改指令)
指令系统——CPU所能执行的全部指令称为指令系统
指令系统,把CPU看成boss,其实就是boss能给你所有任务的集合,其实,计算机的唯一语言,机器语言,所以唯一它能读懂的语言也是机器语言,指令系统也就是这个计算机的机器语言.又比如说是加,减,乘,除,就为一个指令系统,或许就叫算数指令系统吧
指令系统的兼容性与决定因素——计算机所能执行的指令系统由该机的CPU决定
就是BOSS的头上还有上司,他发的指令还要通过上司的允许
同一公司的指令系统一般保持向下兼容,不同公司的一般不兼容,但AMD和Intel兼容
同一公司的东西肯定会不断更新,但又不能脱离公司,所以只会是兼容老版本,也就是向下兼容的。像是微软,win10的指令到win7来也同样有用,而不同公司就不能保证是否能兼容了.但AMD和Intel这两好基友偏偏兼容:)
与CPU速度相关的性能参数
CPU运算速度的传统衡量方法——每秒钟能执行的指令数目(MIPS).
MIPS-Million Instruction Per second,就是boss每秒能发布多少条任务
影响CPU性能指标的因素:
-
字长(位数)——CPU中定点运算器和通用寄存器的宽度
字长即是一次同时进行二进制整数运算的位数,就是一下子能算多少,那当然是算的越多越好了
-
主频(CPU时钟频率,内部频率),是电子线路工作频率,它决定了计算机内部数据传输与操作速度的快慢,主频越高,速度越快
主频其实就是执行一条指令需要的时间,自然也是越快越好.主频越高,执行一条指令时间就越少,速度也就越快.但不是说主频提高一倍,速度也快一倍,因为还有别的能影响CPU速度的因素.
-
Cache——是为了弥补主存与CPU之间的差异寄存器>Cache>内存(速度)
缓存速度是介于内存与CPU之间的,CPU自然是计算机中最快的,如果缓存速度比CPU还快,那么它就不能实现它的作用,弥补主存与CPU之间的差异.
正在运行的程序存放在Cache中,使用SRAM芯片组成,并且Cache相当于主存的延申.CPU的Cache中的数据是主存中的部分内存的映射
作为缓存,是存放正在运行的程序,也就是临时的存储,相当于CPU中的寄存器.也属于主存的一部分
容量越大,级数越多,访问Cache的命中率越高,CPU速度就越快
CPU在向主存取数据时,先看cache中有没有,所以如果Cache越大,那么能放的东西就越多,那么CPU取到的越多,访问主存的次数就越少,CPU执行的效率也就大大增高
CPU总线(前端总线),是连接CPU与主存的总线,而影响传输数据快慢的因素是——数据总线的宽度和工作频率
前端总线一次可传输二进制数据的位数越大,CPU与外部交换数据的能力越强。
CPU地址总线——决定了CPU的寻址范围和能力
地址总线就相当于是旅馆中的管理人员,人越多,那一下次管理的房间就越多.
外频,具体是指CPU到芯片组之间的总线速度
外频虽然是CPU到芯片组之间的总线速度,但实际上并不有多影响CPU的性能,主要还得看主频
CPU运算速度传统衡量方法
每秒钟能执行的指令数目——MIPS-单字长定点指令百万条/秒,MELOPS-单字长浮点指令百万条/秒