CPU性能参数:MIPS,频率,IPC,CPI,时钟周期,机器周期,指令周期,主频
首先,了解下晶振的作用。没有晶振,就没有时钟周期;没有时钟周期,就无法执行程序代码,单片机就无法工作。 单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。 MCS—51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为120MHz,则一个机器周期就是0.1us。而DJNZ指令是双周期指令,所以执行一次的指令周期为0.2us,每秒执行指令次数为5百万,即5mips。
MIPS与处理器频率的关系
- IPS: 每秒钟所能执行的指令条数,对于微型计算机可用CPU的主频和每条指令的执行所需的时钟周期来衡量。
- MIPS: 衡量ARM及其他的cpu的性能,表示每秒能运行多少个百万指令,MIPS越高,性能越高。
- 频率: 表示一秒振荡多少个周期 (MHz时钟速度)
- IPC:(instruction per clock) 表示每(时钟)周期运行多少个指令.
准确的CPU性能判断标准应该是: MIPS=频率 x IPC
这个公式最初由英特尔提出并被业界广泛认可。实际上是频率和IPC在真正影响CPU性能。频率是用来计算MIPS,单独时是一个没有用的指标,是MIPS的附属指标。一个cpu频率再高,IPC是0的话,性能直接就是0,是个废物,参见电子迁移率100%的cpu,cpu可以升到4.0GHZ,但不能输出任何性能,不能运行任何指令。
MIPS是理论值,理论上CPU每秒处理的万条指令数,实际数量小于这个值。
主频,MIPS,CPI,时钟周期,机器周期,指令周期
转自:http://blog.csdn.net/xiaojianpitt/article/details/7613489
- 时钟频率又称主频 f ,它是指CPU内部晶振的频率,常用单位为MHz,它反映了CPU的基本工作节拍。
- 时钟周期t : t =1/ f; 主频的倒数
- 机器周期 : m*t ;一个机器周期包含若干个(m个)时钟周期
- 指令周期:mtn 执行一条指令所需要的时间,一般包含若干个(n个)机器周期
- CPI :(clock per instruction)= m*n; 平均每条指令的平均时钟周期个数
指令周期 = CPI×时钟周期 = n×m×时钟周期=nm/主频f, 注意指令周期单位是s或者ns,CPI无量纲 - IPC:(instruction per clock) 表示每(时钟)周期运行多少个指令.
- MIPS = 每秒执行百万条指令数 = 1/(CPI×时钟周期×10的6次方)= 1/(指令周期×10的6次方) = 主频/(CPI×10的6次方) = 频率*IPC/10的6次方
- MFLOPS 每秒百万浮点运算次数。代表了CPU处理浮点运算的能力。与MIPS不能相互转换
包含关系:指令周期通常用若干个机器周期来表示,在机器语言中,使用执行一条指令所需要的机器周期数来说明指令执行的速度。而机器周期又包含若干个时钟周期。时钟周期是最基本的操作单位。
题: 若某处理器的时钟频率为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”。
转自:https://blog.csdn.net/xiaojianpitt/article/details/7613489