共计 2193 个字符,预计需要花费 6 分钟才能阅读完成。
2.9G Hz, 即每秒进行 2.9G 次运算(即 29 亿次)
几个命令
- us: 用户应用的 cpu
- sy: 零碎 (内核) 应用的 cpu
- id: idle, 即闲暇 cpu
- wa: 期待 I / O 的 cpu
- st: 开虚拟机后会有的一个指标, 即虚拟机的 cpu 使用率
一个过程领有一整套虚拟地址空间, 该过程的所有线程都共享该地址空间.
线程是 CPU 运算的最小单位.CPU 不关注是哪个过程, 只是轮换着线程来运行, 不须要晓得该线程属于哪个过程.
线程的五种状态:
只有 运行中
占用 CPU 资源, 其余包含阻塞状态, 都不占用 CPU 资源.
应用 线程池 , 能够优化线程 创立 / 销毁
带来的性能损耗(申请 cpu 计算资源需进入内核态)
协程是用户自定义的线程, 不须要进入内核态进入申请计算资源.(这里的用户就是指应用程序及编程语言了..)
CPU 性能掂量参数
主频
主频 又称 时钟频率,指 CPU 外部晶振的频率,罕用单位为 MHz 或 GHz,它反映了 CPU 的根本工作节奏;
个别用 f 示意 (frequency)
时钟周期
时钟周期 $ t = \frac{1}{f} $
即 时钟周期 = 主频的倒数
机器周期
机器周期 = m*
t
一个 机器周期 蕴含若干个 时钟周期
指令周期
指令周期 = m*
t*
n
执行一条指令所须要的工夫,个别蕴含若干个 机器周期
CPI
CPI = m*
n;
每条指令的均匀时钟周期个数
指令周期 = CPI×机器周期 = n(CPI=n)×m×时钟周期 =nm/ 主频 f
留神指令周期单位是 s 或者 ns,CPI 无穷纲
MIPS(MillionInstructions Per Second)
MIPS = 每秒执行百万条指令数 = 1/(CPI×时钟周期)= 主频 /CPI
MFLOPS 每秒百万浮点运算次数。
示意秒钟所能执行的指令条数,对于微型计算机, 可用 CPU 的主频和每条指令执行所需的时钟周期来掂量。
蕴含关系:指令周期通常用若干个机器周期来示意,在机器语言中,应用执行一条指令所须要的机器周期数来阐明指令执行的速度。而机器周期又蕴含若干个时钟周期。时钟周期是最根本的操作单位。
留神:计算机的运算速度个别用每秒钟所能执行的指令条数来示意。因为不同类型的指令所需工夫长度不同,因此运算速度的计算方法也不同。例如,依据不同类型的指令呈现的频度,乘上不同的系数求得统计平均值,失去均匀运算速度。这种办法用 MIPS(Millions of Instruction Per Second)作单位,即每秒百万条指令。
又如,间接给出 CPU 的主频和每条指令的执行所需的时钟周期。周期个别以 MHz 为单位。主频即计算机的时钟频率,它在很大水平上决定了主机的工作速度。例如,型号为 486DX-133 的微型计算机,表明它的 CPU 型号为 486,DX 为含浮点处理器,数字 133 的含意是主频为 133MHz。
例题
<1>:若某处理器的时钟频率为 500MHz,每 4 个时钟周期组成一个机器周期,执行一条指令须要 3 个机器周期,则该处理器的一个机器周期▁8▁ns,均匀执行速度为▁42▁MIPS
解析如下:
时钟周期 T 等于主频的倒数,即 T =1/500MHz=1/(0.5×10 的 9 次方 Hz)=2 ns,机器周期等于 4 个时钟周期即 =4T=4×2 ns=8 ns,每条指令的时钟周期数 CPI=3×4=12,则平均速度为:f/(CPI×10 的 6 次方)=(500×10 的 6 次方)/(12×10 的 6 次 方)=500/12=41.6≈42MIPS. 计算主频的倒数时要留神把主频的 MHz 换算成 Hz 即 500 前面加 6 个 0 =500×10 的 6 次方 =0.5×10 的 9 次方,1/10 的 9 次方 Hz=1ns
每条指令的时钟周期数 CPI=3×4=12,执行一条指令须要 3 个机器周期数,一个机器周期蕴含 4 个时钟周期,所以 CPI=3×4=12,这里计算 的都是周期的个数,和具体的工夫 ns 纳秒没有关系,若带上具体的工夫,一个时钟周期 T =2ns,一个机器周期就是 2×4=8ns,执行一条指令须要三个机 器周期得出执行一条指令须要的具体工夫为 3×8=24ns,执行每条指令的须要的时钟周期数 CPI 换句话说就是把执行每条指令须要的工夫 24ns 换算成时 钟周期个数示意,为多少个时钟周期个数? 时钟周期是最根本的工夫操作单位,500MHz 主频的处理器一个时钟周期为 2ns,24ns 等于多少个时钟周期?24/2=12 个时钟周期,即那一句:“每条指令的时钟周期数 CPI=12”。
<2>: 某计算机系统的 CPU 主频为 2.8GHz。某应用程序包含 3 类指令,各类指令的 CPI(执行每条指令所须要的时钟周期数)及指令比例 如下表所示。
执行该应用程序时的均匀 CPI 为();
<font size=1>A、25 B、3 C、3.5 D、4 </font>
运算速度用 MIPS 示意,约为()。
<font size=1>A、700 B、800 C、930 D、1100 </font>
解:
(1) 求 均匀 CPI, 即对列出的 CPI 求平均数
4*
35% + 2*
45% + 6*
20% = 3.5
(2) 求 MIPS, 即每秒执行的百万条指令数
依据第一问 CPI,每条指令须要的时钟周期为 4,每个时钟周期为主频的倒数,即 1 /2.8G 秒,则每条指令须要工夫 3.5/2.8G 秒。
每秒执行指令数为1/(3.5/2.8G)=2.8G/3.5=0.8G=800M
。
(1M=106,1G=109)
拓展浏览:
阮一峰 - 为什么寄存器比内存快?
阮一峰 - 汇编语言入门教程
CPU 性能掂量参数 - 主频,MIPS,CPI,时钟周期,机器周期,指令周期
本文由 mdnice 多平台公布