关于MIPS,在这里对于大学生来说应该就只会涉及到一个计算的问题,所以接下来我也会着重讲一下关于MIPS的计算以及相应的题型分析。首先,在了解MIPS之前,我们需要先了解一下CPI。
CPI:官方说法写的是每条指令单周期或多周期,其实就是指每条指令需要多少周期。
CPI=时钟周期数(总周期数) / 指令数(总指令数) 即执行一个指令集需要的总的周期数来除以总的指令数得到CPI的值(没有单位)。
这里还涉及一个CPU的执行时间,这个也比较重要,在后面我会简单说一下他的计算公式。
其实也不难理解,时钟顾名思义就是来计算程序运行时间的工具,是一种器件,用来协调处理器里的所有器件。而有关时钟就有时钟周期,时钟频率两种概念。每个处理器里的时钟都会有所不同,所以设计到的周期和频率也会不同。(如1秒钟振荡1兆次,就叫做1兆时钟)
接下来就是主角MIPS(定点指令执行速度),可以理解为1秒钟执行多少条指令(计算机的运行速度可是很快的,执行的指令条数通常以兆为单位),因为处理器处理不同的指令所需的时钟周期不同,所以计算MIPS时通常是一个平均值,而且也不太实用,受到的局限比较多,所以MIPS不一定能说明性能的好坏。
计算公式:MIPS = 指令总数 / 时间 x 10^6
= 主频 / CPI x 10^6
时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。