冯-诺依曼体系结构
-
任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,现代计算机的就是基于这个基础架构来设计开发的
冯诺依曼体系结构图
从性能看CPU的发展历程
响应时间(Response Time)
就是计算机执行一个程序或处理一个请求使用的时间
吞吐率
就是单位时间内计算机执行程序或处理请求的个数
性能 一般定义成响应时间的倒数 1/响应时间
用时间衡量性能的两个问题
- CPU执行一个程序的时候一般都不是一次就执行完成,而是不断地在各个程序之间切换,甚至对于同一个程序的执行,经常会请求网络和IO资源等会不断从用户态和内核态之间切换。
- real Time 执行程序时总共消耗的时间
- user Time 用户态空间时间
- sys Time 内核态空间时间
真正的执行程序时间 = user Time + sys Time
- CPU执行程序时可能是满载运行也可能是降频运行,也不能直接得出性能
计算机的计时单位 ---CPU时钟
- 对程序的执行时间做进一步拆分
- 程序的CPU执行时间 = 程序的CPU时钟周期数 * 时钟周期时间(Clock Cycle Time)
理解时钟周期 CPU 内部,和我们平时戴的电子石英表类似,有一个叫晶体振荡器(Oscillator Crystal)的东西,简称为晶振。我们把晶振当成 CPU 内部的电子表来使用。晶振带来的每一次“滴答”,就是时钟周期时间。主频越高这个时钟周期越快,增加主频可以提高时钟周期
- 对程序的CPU时钟周期数做进一步拆分
- 每条指令的平均时钟周期数(Cycles Per Instruction,简称 CPI)
- 程序的CPU时钟周期数 = 指令数 * CPI
- 程序的CPU执行时间 = 指令数 * CPI * Clock Cycle Time
推论得到提高CPU性能的方式
- 提升CPU时钟周期时间,也就是想办法提高计算机的主频(著名的摩尔定律)
- 减少每条指令的平均CPU时钟周期时间,如CPU的流水线设计等
- 减少指令数,也就是提高代码质量
网友评论