目录
【命题追踪——与机器字长位数相同的部件(2020、2021)】
【命题追踪——时钟脉冲信号和时钟周期的相关概念(2019)】
【命题追踪——CPU执行时间的相关计算(2012、2013、2014、2017、2022、2023)】
通常所说的“某 16 位或 32 位机器”,其中的 16、32 指的是机器字长,简称字长。
字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、ALU 有关。
因此,字长一般等于通用寄存器的位数或 ALU 的宽度,字长越长,数的表示范围越大,计算精度越高。
计算机字长通常选定为字节(8位)的整数倍。
补充:字、字长、机器字长、指令字长、存储字长的区别和联系是什么?
字长是指 CPU 内部用于整数运算的数据通路的宽度,因此字长等于 CPU 内部用于整数运算的运算器位数和通用寄存器宽度,它反映了计算机处理信息的能力。
字和字长的概念不同。字用来表示被处理信息的单位,用来度量数据类型的宽度,如x86 机器中将一个字定义为 16 位。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的位数。
它们都必须是字节的整数倍。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令;
若指令字长等于存储字长,则取指令周期等于机器周期。
早期的存储字长一般与指令字长、字长相等,因此访问一次主存储器便可取出一条指令或一个数据。
随着计算机的发展,指令字长、字长都可变,但必须都是字节的整数倍。
(1) 吞吐量和响应时间。
吞吐量。指系统在单位时间内处理请求的数量。
它取决于信息能多快地输入内存,CPU 能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。
几乎每步都关系到主存储器,因此系统吞吐量主要取决于主存储器的存取周期。
响应时间。指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。
通常包括 CPU 时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O 操作、操作系统开销等的时间)。
(2) 主频和 CPU 时钟周期。
CPU 时钟周期。机器内部主时钟脉冲信号的宽度,它是 CPU 工作的最小时间单位。
时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频 后形成。
时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定。
时钟周期也以指令流水线的每个流水段的最大延迟时间确定。
主频(CPU 时钟频率)。机器内部主时钟的频率,即时钟周期的倒数,它是衡量机器速度的重要参数。
对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。
主频最直观的理解就是每秒有多少个时钟周期。
注意:CPU 时钟周期 =1/主频,主频通常以 Hz(赫兹)为单位,10Hz表示每秒 10 次。
(3) CPI(Cycle Per Instruction)。
即执行一条指令所需的时钟周期数。
不同指令的时钟周期数可能不同,因此对于一个程序或一台机器来说,
其 CPI 指该程序或该机器指令集中的所有指令执行所需的平均时钟周期数,此时CPI是一个平均值。
(4) CPU 执行时间。
指运行一个程序所花费的时间。
CPU 执行时间 =CPU 时钟周期数/主频=(指令条数×CPI)÷主频
上式表明,CPU 的性能(CPU执行时间)取决于三个要素:主频、CPI 和指令条数。
主频、CPI 和指令条数是相互制约的。
例如,更改指令集可以减少程序所含的指令条数,但同时可能引起 CPU 结构的调整,从而可能会增加时钟周期的宽度(降低主频)。
【例 1.1】
假定计算机 M1和 M2具有相同的指令集体系结构,M1的主频为 2GHz,程序P在M1 上的运行时间为 10s。
M2 采用新技术可使主频大幅提升,但平均 CPI 也增加到 M1 的 15 倍。
则 M2 的主频至少提升到多少才能使程序P在 M2 上的运行时间缩短为 6s?
解:
- 程序P在M1上的时钟周期数 = 指令条数×CPI = CPU执行时间×主频=10s×2GHz=2x10¹⁰ 。
- M2 的平均 CPI为 M1 的 1.5 倍,因此程序 P 在 M2 上的时钟周期数 =1.5×2×10¹⁰=3x10¹⁰ 。
- 要使程序 P在 M2 上的运行时间缩短到 6s,则 M2 的主频至少应为
- 程序P所含时钟周期数 ÷ CPU 执行时间 =3x10¹⁰ ÷ 6s = 5GHz
由此可见,M2 的主频是 M1的 2.5 倍,但 M2 的速度却只是 M1 的 1.67 倍。
(5)MIPS(Million Instructions Per Second)。
即每秒执行多少百万条指令。
MIPS = 指令条数 ÷ (执行时间×10⁶)= 主频 ÷ (CPIx10⁶)。
MIPS 对不同机器进行性能比较是有缺陷的,因为不同机器的指令集不同,指令的功能也就不同。
比如在机器 M1 上某条指令的功能也许在机器 M2 上要用多条指令来完成;
不同机器的 CPI和时钟周期也不同,因而同一条指令在不同机器上所用的时间也不同。
(6) FLOPS(Floating-point Operations Per Second)。
即每秒执行多少次浮点运算。
注意:
- 在描述存储容量、文件大小等时,K、M、G、T通常用2的幂次表示,如 1Kb=2¹⁰b;
- 在描述速率、频率等时,k、M、G、T通常用 10 的幂次表示,如 1kb/s=10³b/s。
- 通常前者用大写的K,后者用小写的k,但其他前缀均为大写,表示的含义取决于所用的场景